ax³ + bx² + cx + d = 0 の実数解を求めます。x を b/(3a) だけずらして 2 次の項を消し、残った t³ + pt + q = 0 を判別式の符号に応じて解きます。実数解は必ず 1 つ以上あります。
の実数解を求めます。三次方程式には実数解が必ず 1 つ以上あります。グラフが左下から右上へ抜けるので、どこかで必ず 軸を横切るからです。
まず をこのようにずらすと、2 次の項が消えて の形になります。ここから先は判別式 の符号で解き方が分かれます。
正なら実数解は 1 つで、カルダノの公式で 2 つの立方根を足して求めます。0 なら重解があり、実数解は 1 つか 2 つになります。負なら異なる実数解が 3 つありますが、カルダノの公式では立方根の中が負になって実数で書けないので、三角関数を使って解きます。
を解きます。、 となり、判別式は で負です。異なる実数解が 3 つあり、 になります。 を展開すると、もとの式に戻ることを確かめられます。
出力は異なる実数解だけを小さい順に並べます。重解は 1 つと数えるので、 の解は 0 が 1 つです。解が 3 つに満たないときは、空いた枠をハイフンで埋めます。
複素数の解は出しません。 が 0 のときは三次方程式ではないので、二次方程式の計算機を使ってください。