三次方程式の解き方

ax³ + bx² + cx + d = 0 の実数解を求めます。x を b/(3a) だけずらして 2 次の項を消し、残った t³ + pt + q = 0 を判別式の符号に応じて解きます。実数解は必ず 1 つ以上あります。

ax3+bx2+cx+d=0ax^3 + bx^2 + cx + d = 0 の実数解を求めます。三次方程式には実数解が必ず 1 つ以上あります。グラフが左下から右上へ抜けるので、どこかで必ず xx 軸を横切るからです。

x=tb3ax = t - \dfrac{b}{3a}

まず xx をこのようにずらすと、2 次の項が消えて t3+pt+q=0t^3 + pt + q = 0 の形になります。ここから先は判別式 q24+p327\dfrac{q^2}{4} + \dfrac{p^3}{27} の符号で解き方が分かれます。

判別式による場合分け

正なら実数解は 1 つで、カルダノの公式で 2 つの立方根を足して求めます。0 なら重解があり、実数解は 1 つか 2 つになります。負なら異なる実数解が 3 つありますが、カルダノの公式では立方根の中が負になって実数で書けないので、三角関数を使って解きます。

x36x2+11x6=0x^3 - 6x^2 + 11x - 6 = 0 を解きます。p=1p = -1q=0q = 0 となり、判別式は 127-\dfrac{1}{27} で負です。異なる実数解が 3 つあり、x=1,2,3x = 1, 2, 3 になります。(x1)(x2)(x3)(x-1)(x-2)(x-3) を展開すると、もとの式に戻ることを確かめられます。

注意

出力は異なる実数解だけを小さい順に並べます。重解は 1 つと数えるので、x3=0x^3 = 0 の解は 0 が 1 つです。解が 3 つに満たないときは、空いた枠をハイフンで埋めます。

複素数の解は出しません。aa が 0 のときは三次方程式ではないので、二次方程式の計算機を使ってください。