曲線は幾何学的に興味深いものだが、算術的あるいは代数的な情報を含んでいることもある。座標が有理数、実数、複素数である曲線上の各点について考えることになる。また、これとは少し違った流れで、合同数とピタゴラス数との関連についても考える。
これは実部について考えるときは理にかなっているが、有理数についてはどうだろうか。有理点
これまでの数式を使ってピタゴラス数をすべて見つける。正の整数
すべてのピタゴラス数
アルゴリズムとしては以下のようになる。
for n in range(2, 6):
for m in range(1, n):
if gcd(m,n) == 1:
A = n**2 - m**2
B = 2*m*n
C = n**2 + m**2
Area = int(A*B/2)
congruent = squarefree(Area)
print(f"(m,n)=({m},{n})")
print(f"(A,B,C)=({A},{B},{C})")
print(congruent)