因数分解による三次方程式の解の公式

# TL;DR
「ガロア理論「超」入門」[^1]で紹介されている因数分解を使った三次方程式の解の公式が興味深かったので備忘として残す。

# はじめに
三次方程式の解の公式はカルダノの方法が有名で、ガロア理論を解説本(たとえば、「ガロアの群論」[^2])では、ほぼ確実に解説されている。「ガロア理論「超」入門」でもカルダノの方法を紹介しているが、因数分解を使った方法を主軸として方程式が解ける仕組みを説明している。

カルダノの方法は、一変数の方程式を一度二変数の方程式に変換するので、トリッキーな感がある。因数分解を使う方法は、結果を知った上での後付け的なやり方であるかもしれないが、ガロア理論につながるという意味ではよく出来た方法と思える。実際「ガロア理論「超」入門」では四次方程式の解の公式を因数分解を使った方法で紹介し、方程式が解ける仕組みを一貫した流れで説明している。

# 三次方程式の解の公式
天下り的に恒等式

```math
a^3+b^3+c^3-3abc=(a+b+c)(a+\omega b+\omega^2 c)(a+\omega^2 b+\omega c)
```

$ $を考える($\omega $は1の三乗根)。$a$を$x$に置き換えて$x$に関する三次式とみなすと、

```math
x^3-3bcx+b^3+c^3=(x+b+c)(x+\omega b+\omega^2 c)(x+\omega^2 b+\omega c)
```

$ $となる。これより$x^3-3bcx+b^3+c^3=0$ の解は$-b-c, -\omega b-\omega^2 c, -\omega^2 b-\omega c$ とわかる。

$ $三次方程式$x^3+a_1x^2+a_2x+a_3=0$(三次の係数で両辺割ったとする)の左辺は、

```math
(x+\frac{a_1}{3})^3+\ldots
```

$ $と変形することができ、$\ldots$には$x^2$の項はないので、$X=x+\frac{a_1}{3}$として変数を置き換えると、

```math
X^3+p_1X+p_2=0
```

$ $とすることができる。これより二次の項がなくても一般性を失わない。一般の三次方程式$ x^3-3px+q=0$と$x^3-3bcx+b^3+c^3=0$を比較することで、

```math
p = bc \\
q = b^3+c^3
```

$ $が成り立つことが判る。つまり、三次方程式を解くということは、与えられた$p$と$q$から、上の式を満たす$b$と$c$を求めるということになる。例えば方程式 $ x^3-3x+1=0$($p=1,q=1$)を考えると、解を求めることは$bc =1,b^3+c^3=1$　となる$b$と$c$を求めることに帰着される。

$ $ 次に$b$と$c$求めるために、(ふたたび天下り的に)$b^3$と$c^3$を解とする二次方程式を考える。

```math
(t-b^3)(t-c^3) = 0 \\
t^2-(b^3+c^3)t+b^3c^3 = 0 \\
t^2-qt+p^3 = 0 
```
$ $となり、$p,q$は与えれているので、二次方程式が一意に決まる。この二次方程式は解の公式を使って解くことできるので、$b^3$と$c^3$を求めることができる。その三乗根が$b,c$となるので、$-b-c
, -\omega b-\omega^2 c, -\omega^2 b-\omega c$の値を計算することができる。

$ $解の公式は、方程式の係数(この場合は$p$と$q$)を使った解を表す式であるが、三つある三乗根のどれを使うかといった話や式そのものが複雑になるため、これ以上は式を展開しない(詳細を知りたい人はガロア理論「超」入門」を参照ください)。ただし、ここまでの説明でも三次方程式を解くことはできるので、以降で実演する。

# 実際に解いてみる
$ $$ x^3-3x+1=0$を例として公式を使って解を求める。$y=x^3-3x+1$のグラフを描くと次のようになる(グラフは[GeoGebra](https://www.geogebra.org/?lang=ja)を使って作成した)。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/323744/7c50b0b4-ae91-92de-2c4b-94fcab892913.png)

$ $グラフから$ x^3-3x+1=0$は3つの実数解を持つことがわかる。

## 素直に計算
$ $$b^3$と$c^3$を求めるための二次方程式は、$t^2-t+1=0$となる。これを解くと、

```math
t=\frac{1\pm\sqrt{3}i}{2}
```

$ $となる。$b^3$を$\pm$の$+$の方とすると、

```math
\begin{align}
b^3 &=\frac{1+\sqrt{3}i}{2} \\
b &= \sqrt[3]{\frac{1+\sqrt{3}i}{2}}
\end{align}
```

$ $$\sqrt[3]{　}$は三乗根の一つである。$ bc = p = 1$より

```math
c = \frac{1}{b} = \frac{1}{\sqrt[3]{\frac{1+\sqrt{3}i}{2}}}
```
となるので、解の一つは、

```math
-b-c = - \sqrt[3]{\frac{1+\sqrt{3}i}{2}}-\frac{1}{\sqrt[3]{\frac{1+\sqrt{3}i}{2}}}
```
となる。先に説明したように解はすべて実数なので、上の式は虚数単位$i$を使っているものの実数を表現している、ということになる。

```math
\omega=\frac{-1+\sqrt{3}i}{2}
```
$ $を$ -\omega b-\omega^2 c$と$ -\omega^2 b-\omega c$に代入すれば、残り二つの解も計算できるが、解を求めたという感じには乏しい…。

## 少し工夫する
```math
b^3=\frac{1+\sqrt{3}i}{2} = \cos \frac{\pi}{3} + i \sin \frac{\pi}{3}
```
$ $と捉えると、長さが$1$で、偏角が$\frac{\pi}{3}$の複素数とわかる。長さが$1$なので、３乗することは偏角を3倍にすることで、三乗根(の一つ)は偏角を$\frac{1}{3}$にすることになる。下図のPが$b^3$、Qが$b$をあらわす。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/323744/5ce61fa1-d55a-adcd-681b-792332df881b.png)

よって、

```math
b = \cos \frac{\pi}{9} + i \sin \frac{\pi}{9}
```

$ $$\frac{\pi}{9}=\alpha$とすると、

```math
\begin{align}
b &= \cos \alpha + i \sin \alpha \\
c &= \frac{1}{b} \\
  &= \frac{1}{\cos \alpha + i \sin \alpha} \\
  &= \frac{\cos \alpha - i \sin \alpha}{(\cos \alpha + i \sin \alpha)(\cos \alpha - i \sin \alpha)} \\
  &= \frac{\cos \alpha - i \sin \alpha}{\cos^2 \alpha + \sin^2 \alpha} \\
  &= \cos \alpha - i \sin \alpha 
\end{align}
```
なので、

```math
\begin{align}
-b-c &= -\cos \alpha - i \sin \alpha -(\cos \alpha - i \sin \alpha) \\
 &= -2 \cos \alpha
\end{align}
```

$ $これで$-b-c$は実数であることが確認できた。続いて、$\omega^2+\omega+1=0$を使って、

```math
\begin{align}
-\omega b-\omega^2 c &= -(\omega b + \omega^2 c) \\
 &= -(\omega(\cos \alpha + i \sin \alpha) + \omega^2(\cos \alpha - i \sin \alpha)) \\
 &= -(\omega \cos \alpha + \omega i \sin \alpha + \omega^2 \cos \alpha - \omega^2 i \sin \alpha) \\
 &= -((\omega^2 + \omega) \cos \alpha + (\omega - \omega^2) i \sin \alpha) \\
 &= -(-\cos \alpha + (2\omega + 1) i \sin \alpha) \\
 &= -(-\cos \alpha +( 2 \times \frac{-1+\sqrt{3}i}{2} + 1) i \sin \alpha) \\
 &= -(-\cos \alpha - \sqrt{3} \sin \alpha) \\
 &= \cos \alpha + \sqrt{3} \sin \alpha \\
\\
-\omega^2 b-\omega c &= -(\omega^2 b + \omega c) \\
 &= -(\omega^2(\cos \alpha + i \sin \alpha)+\omega(\cos \alpha - i \sin \alpha)) \\
 &= -(\omega^2 \cos \alpha + \omega^2 i \sin \alpha + \omega \cos \alpha - \omega i \sin \alpha) \\
 &= -((\omega^2 + \omega) \cos \alpha + (\omega^2 - \omega) i \sin \alpha) \\
 &= -((\omega^2 + \omega) \cos \alpha - (\omega - \omega^2) i \sin \alpha) \\
 &= -(-\cos \alpha + \sqrt{3} \sin \alpha) \\
 &= \cos \alpha - \sqrt{3} \sin \alpha 
\end{align}
```

と、残り二つの解も実数であることが確認できた。

# 検算
$ $$ x^3-3x+1=0$に三つの解を代入して成り立つことを確かめる。

```math
\begin{align}
 (-2 \cos \alpha)^3 -3(-2 \cos \alpha) + 1 &= -8 \cos^3 \alpha + 6 \cos \alpha + 1 \\
&= -8 \times \frac{3 \cos \alpha + \cos 3 \alpha}{4} + 6 \cos \alpha + 1 \\
&= -6 \cos \alpha -2 \cos 3\alpha + 6 \cos \alpha + 1 \\
&= -2 \cos 3\alpha +1 \\
&= -2 \cos \frac{\pi}{3} + 1 \\
&= -2 \times \frac{1}{2} + 1 \\
& = 0
\end{align}
```

ここでは、三角関数のべき乗公式[^3]の一つ

```math
\cos^3 \alpha = \frac{3\cos \alpha+\cos 3 \alpha}{4}
```

を使った。残り２つの解についても検算すると、

```math
\begin{align}
&(\cos \alpha + \sqrt{3} \sin \alpha)^3 -3(\cos \alpha + \sqrt{3} \sin \alpha)+1 \\
&= (\cos^3 \alpha+3\sqrt{3}\sin^3 \alpha + 3\sqrt{3} \cos^2 \alpha \sin \alpha + 9 \cos \alpha\sin^2 \alpha)) -3(\cos \alpha + \sqrt{3} \sin \alpha) + 1 \\
&= (\cos^3 \alpha+3\sqrt{3}\sin^3 \alpha + 3\sqrt{3}(1-\sin^2 \alpha)\sin \alpha + 9 \cos \alpha(1-\cos^2 \alpha))-3(\cos \alpha + \sqrt{3} \sin \alpha) + 1 \\
&= \cos^3 \alpha+3\sqrt{3}\sin^3 \alpha + 3\sqrt{3}\sin \alpha - 3\sqrt{3}sin^3 \alpha + 9 \cos \alpha - 9\cos^3 \alpha-3\cos \alpha -3 \sqrt{3} \sin \alpha + 1 \\
&= -8 \cos^3 \alpha + 6 \cos \alpha + 1 \\
&= -8 \times \frac{3\cos \alpha + \cos 3\alpha}{4} + 6 \cos \alpha + 1 \\
&= -6\cos \alpha -2 \cos 3\alpha   + 6 \cos \alpha + 1 \\
&= -2 \cos 3\alpha + 1 \\
&= 0 \\
\\
&(\cos \alpha - \sqrt{3} \sin \alpha)^3 -3(\cos \alpha - \sqrt{3} \sin \alpha)+1 \\
&= (\cos^3 \alpha - 3\sqrt{3}\sin^3 \alpha - 3\sqrt{3} \cos^2 \alpha \sin \alpha + 9 \cos \alpha\sin^2 \alpha)) -3(\cos \alpha - \sqrt{3} \sin \alpha) + 1 \\
&= (\cos^3 \alpha - 3\sqrt{3}\sin^3 \alpha - 3\sqrt{3}(1-\sin^2 \alpha)\sin \alpha + 9\cos \alpha(1-\cos^2 \alpha)) -3(\cos \alpha - \sqrt{3} \sin \alpha) + 1 \\
&= \cos^3 \alpha - 3\sqrt{3}\sin^3 \alpha - 3\sqrt{3}\sin \alpha + 3\sqrt{3}\sin^3 \alpha + 9\cos \alpha - 9\cos^3 \alpha -3\cos \alpha + 3\sqrt{3} \sin \alpha + 1 \\
&= -8 \cos^3 \alpha + 6 \cos \alpha + 1 \\
&= 0
\end{align}
```

$\sin$を使った項が都合よく消えてくれて、方程式の解であることが確認できる。

# 念のため
[GeoGebra](https://www.geogebra.org/?lang=ja)はグラフを描くだけでなく、解を計算することもできる。これを使うと$ x^3-3x+1=0$の解は、

```math
\begin{align}
-1&.8793852415718 \\
0&.347296355339 \\
1&.532088886238 \\
\end{align}
```

$ $となった。手元の電卓アプリで$\cos \frac{\pi}{9},\sin \frac{\pi}{9}, \sqrt{3}$を求めると、

```math
\begin{align}
\cos \frac{\pi}{9} &= 0.939692620785908 \\
\sin \frac{\pi}{9} &= 0.342020143325669 \\
\sqrt{3} &= 1.732050807568877
\end{align}
```

電卓アプリで計算を続けると、

```math
\begin{align}
-2 \cos \alpha &= -2 \cos \frac{\pi}{9} \\
 &= -2 \times 0.939692620785908 \\
 &= -1.879385241571817 \\
\\
\cos \alpha + \sqrt{3} \sin \alpha  &= \cos \frac{\pi}{9} + \sqrt{3} \sin \frac{\pi}{9} \\
&= 0.939692620785908 + 1.732050807568877 \times 0.342020143325669 \\
&= 1.532088886237956 \\
\\
\cos \alpha - \sqrt{3} \sin \alpha  &= \cos \frac{\pi}{9} - \sqrt{3} \sin \frac{\pi}{9} \\
&= 0.939692620785908 - 1.732050807568877 \times 0.342020143325669 \\
&= 0.347296355333861
\end{align}
```

多少の誤差が生じているものの、合ってるようだ。

[^1]: ガロア理論「超」入門,小林吹代著,技術評論社
[^2]: ガロアの群論,中村亨著,講談社
[^3]: [ウィキペデア](https://ja.wikipedia.org/wiki/三角関数の公式の一覧#べき乗)に載っていた。助かった。