ピタゴラス数: ディオファントスの式


三平方の定理(ピタゴラスの定理)を満たす整数をピタゴラス数といいます。 たとえば ( (3, 4, 5) ) はピタゴラス数です。

三平方の定理 (ピタゴラスの定理)

直角三角形の3辺の長さを ( a, b, c ; (a lt c , b lt c) ) とするとき、次の式が成り立つ。

[ a^2 + b^2 = c^2 ]

また逆に、この式が成り立つとき、 ( a, b, c ) が3辺の長さとなる三角形は直角三角形である。

これを古代の数学者ディオファントスが考察し、次のような式を導きだしました。

ディオファントスの式

共通な因数を持たないピタゴラス数 ( a, b, c ) は 一方が偶数でもう一方が奇数となる互いに素な自然数 ( m, n ; ( n lt m ) ) によって次のように表せる。

begin{cases} a = m^2 – n^2 b = 2mn c = m^2 + n^2 end{cases}

実際に ( m, n ) に数をあてはめてみると、 次のようになります。

m n a b c
2 1 3 4 5
3 2 5 12 13
4 1 15 8 17
4 3 7 24 25
5 2 21 20 29

このディオファントスの式を導いてみます。

導出

( a, b ) の一方は奇数、他方は偶数になる

共に偶数とならないことの証明

もし ( a, b ) に共通因数 ( d ) があると仮定すると、 ( a, b ) はある自然数 ( a_0 , b_0 ) を用いて次のように書ける。

begin{cases} a = a_0 d b = b_0 d end{cases}

このとき

begin{eqnarray*} c^2 & = & a^2 + b^2 & = & d^2 left( a_0 ^2 + b_0 ^2 right) end{eqnarray*}

となり、 ( c ) も ( d ) の倍数となることがわかる。 しかし、 ( a, b, c ) は共通因数を持たないという仮定に反するので ( a, b ) が共通因数を持つことはなく、 ともに偶数となることもない。

共に奇数とならないことの証明

( a, b ) が共に奇数だと仮定すると、 ( a, b ) はある自然数 ( a_0, b_0 ) を用いて次のように書ける。

begin{cases} a = 2 a_0 + 1 b = 2 b_0 + 1 end{cases}

このとき

begin{eqnarray*} c^2 & = & a^2 + b^2 & = & left( 2 a_0 + 1 right) ^2 + left( 2 b_0 + 1 right) ^2 & = & 4 a_0 ^2 + 4 a_0 + 1 + 4 b_0 ^2 + 4 b_0 + 1 & = & 4 left( a_0 ^2 + a_0 + b_0 ^2 + b_0 right) + 2 end{eqnarray*}

となることから ( c ) は偶数で、 ( c^2 ) を4で割ると 2余ることがわかる。 しかし、 偶数は 2乗すると 4で割り切れるので矛盾する。 よって ( a, b ) が共に奇数となることはない。

以上より ( a , b ) の一方は奇数でもう一方が偶数になることがわかる。

( b ) を偶数と仮定する。 ( a^2 + b^2 = c^2 ) より

begin{eqnarray*} b^2 & = & c^2 – a^2 & = & left( c + a right) left( c – a right) left( frac{b}{2} right) ^2 & = & frac{c + a}{2} frac{c – a}{2} . end{eqnarray*}

ここで、 ( frac{c + a}{2} ) と ( frac{c – a}{2} ) に共通の因数はない。

補足

もし ( frac{c + a}{2} ) と ( frac{c – a}{2} ) に共通の因数が存在する場合、

begin{cases} frac{c + a}{2} = k p frac{c – a}{2} = k q end{cases}

のように書くことができ、

begin{cases} a = k left( p – q right) b = k p q c = k left( p + q right) end{cases}

となる。 しかしこれは ( a, b, c ) が共通因数を持たないという仮定に反する。

よって ( frac{c + a}{2} ) と ( frac{c – a}{2} ) はそれぞれ ある互いに素な自然数の2乗で表される。 そこで

begin{cases} frac{c + a}{2} = m^2 frac{c – a}{2} = n^2 end{cases}

とする。 これより

begin{eqnarray*} a & = & frac{c + a}{2} – frac{c – a}{2} & = & m^2 – n^2 , b & = & sqrt{ frac{c + a}{2} frac{c – a}{2} } & = & sqrt{ m^2 n^2 } & = & mn , c & = & frac{c + a}{2} + frac{c – a}{2} & = & m^2 + n^2 . end{eqnarray*}