ピタゴラス数とは、
を満たす自然数
,
,
のことです。まず、 x も y も共に奇数であるということはないことを証明しましょう。
が偶数のとき、
と置くと、
となるので、
は 4 で割ると余りは 0 です。
が奇数のとき、
と置くと、
となるので、
は 4 で割ると余りは
です。要するに、ピタゴラス数を構成する3組の自然数のうち最も大きな数の2乗は4で割ると余りが0か1のどちらかになっているのです。ここで、 x も y も共に奇数であると仮定します。 そこで、
と置きます。 すると、
となるので、
は 4 で割ると余りは 2 です。 しがって、
が成り立つことはありません。 というわけで、
も
も共に奇数であるということはないことが解りました。ピタゴラス派は、 ピタゴラス数を見つけるために、 次の恒等式を発見しました。

よって、
\( n^{2}+\left(\frac{n^{2}-1}{2}\right)^2=\left(\frac{n^{2}+1}{2}\right)^2 \)
※ \( \frac{n^{2}-1}{2} \) は自然数です。
ということは、 \( n \) は奇数です。
ということは、 \( \frac{n^{2}-1}{2} \) は偶数です。
ということは、 \( \frac{n^{2}-1}{2} \) は4の倍数です。
また、 \( \large\frac{n^{2}-1}{2}\small+1\ =\large\frac{n^{2}+1}{2} \) です。
これを使って JavaScrip のプログラムを実行すると次のようになります。
ただし、 見つけることのできるピタゴラ数は、 最小の数が奇数で最大の数と真ん中の数との差が 1 であるものだけです。 では、 どうすればピタゴラス数の網羅的探索ができるのでしょうか?
最大公約数が 1 である3つの数から成るピタゴラス数を 既約ピタゴラス数 と言います。 既約ピタゴラス数 のトリオをそれぞれ 2倍、3倍、・・・ していくと、 無限にピタゴラス数ができます。 したがって、 既約ピタゴラス数 さえ見つければいいわけです。 そこで、 次の恒等式が ピタゴラス数 を見つけるための最大の武器になります。

この恒等式に
を満たす互いに素な奇数を代入すると、 全ての 既約ピタゴラス数 を見付けることができます。 たとえば最小の数が100以下の 既約ピタゴラス数 は次のようになります。
も
も
も すべて100以下という条件では、 ピタゴラス数は 52 組 あります。 次の JavaScrip のプログラムの結果は、 上が今の恒等式を用いたもので、 下がしらみつぶしに調べたものです。最後に問題です。 中心が原点にあって半径の長さが100以下の自然数である円で、 その円周上に格子点を8つ以上含むものはいくつあるでしょう? 答えは、52 個です。 なぜなら、 条件を満たす円は、 ピタゴラス数の
の値を半径にする円だからです。100以下の数からなるピタゴラス数が何組あるのかを求めるプログラム :
他にも、 ピタゴラス数を表すプログラムがありますので、 参照してください。
-
十進Basic > 十進Basic_算数 > ピタゴラス数
JavaScript > JavaScript_算数 > ピタゴラス数を表示
数理論 へ戻る