ピタゴラス数を昇順に作る方法とそのプログラム

前よりピタゴラス数の昇順の求め方をさがしていました。
X=M^2−N^2,Y=2MN,Z=M^2+N^2については、1950年頃から
知っていましたが、順序が気に入らなかったのです。 やっと1998年に
偶然考え着きまして歓喜致しましたが、こんなことは既に誰かが発表しているだろうと
思っていました、今回web上で探索の結果、少なくとも日本ではまだのようですね。

共通因数のないピタゴラス数X,Y,ZをX、Yの昇順に求める方法

Xが奇数のとき X=M*N Y=(M^2−N^2)/2 Z=(M^2+N^2)/2
Xが4の倍数のとき W = X / 2 として W = M * N (M > N) Y = M^2 - N^2 Z - M^2 + N^2
Xが偶数で4の倍数でないときはY,Zは自然数ではない。
なお、Mは INT(SQR(X) または INT(SQR(W)) から1まで減らしていきます。

X=1 M=1,N=1 Y=0 X<Y X=1は成立しない。
X=2 Xが4の倍数でないから 非成立
X=3 M=3,N=1 Y=4 Z=5
X=4 M=2,N=2 Y=-3 X<Y  非成立
   M=4,N=1 Y=3  X<Y  非成立
X=5 M=5,N=1 Y=12 Z=13
X=6 Xが4の倍数でないから 非成立
X=7 M=7,N=1 Y=24 Z=25
X=8 M=4,N=2 MとNは共通因数があるので 非成立
   M=8,N=1 Y=15 Z=17
X=9 M=3,N=3 MとNは共通因数があるので 非成立
 M=9,N=1 Y=40 Z=41
X=10 Xが4の倍数でないから 非成立
X=11 M=11,N=1 Y=60 Z=61
X=12 M=4,N=3 Y=-5 X<Y  非成立
 M=6,N=2 MとNは共通因数があるので 非成立
    M=12,N=1 Y=35 Z=37
X=13 M=13,N=1 Y=84 Z=85
X=14 Xが4の倍数でないから 非成立
X=15 M=5,N=3 Y=8 X<Y  非成立
 M=15,N=1 Y=112 Z=113
X=16 M=4,N=4 MとNは共通因数があるので 非成立
 M=8,N=2 MとNは共通因数があるので 非成立
    M=16,N=1 Y=63 Z=65
X=17 M=17,N=1 Y=144 Z=145
X=18 Xが4の倍数でないから 非成立
X=19 M=19,N=1 Y=180 Z=181
X=20 M=5,N=4 Y=21 Z=29
    M=10,N=2 MとNは共通因数があるので 非成立
    M=20,N=1 Y=99 Z=101
以下 省略

証明は省略しますがX=M^2 - N^2,Y=2MN,Z=M^2 + N^2 と1対1対応です。

これを発見した当時は就寝時に10分〜30分 暗算で検算までXが630位まで眠り薬として
ほぼ毎日続けました。
若い時にはかえって頭が冴えてきて眠れなかったが、歳をとると計算で疲れて眠れました。

その一例:
X=621 M=27 N=23 Y<X M=621 N=1 Y=192820 Z=192821 Z-Y=385641=621^2
X=623 M=89 N=7 Y=3936 Z=3985 Z-Y=7^2 Z+Y=7921=89^2 X=89*7
M=823 N=1 Y=338664 Z=338665 Z-Y=1 Z+Y=823^2
X=824 M=103 N=8 Y=10593 Z=10625 Z-Y=2^5 Z=2*103^2 X=103*2^3
M=824 N=1 Y=169743 Z=169745 Z-Y=2 Z+Y=2*169744=2^3*42436=2^5*103^2 X=103*2^3

ピタゴラス数の特徴
@ X*Yは12の倍数   X*Y*Zは60の倍数
A Z-Y = 奇数の2乗(Xが奇数のとき) Z-Y=N^2*2(Xが偶数のとき)


タゴラス数を昇順に作るプログラムへ

トップへ 投稿論文へ