間が開いてしまったが、合同数の話しの続き。
| ⎛ ⎝ |
a
x |
⎞ ⎠ |
2 |
+ | ⎛ ⎝ |
b
y |
⎞ ⎠ |
2 |
= | ⎛ ⎝ |
c
z |
⎞ ⎠ |
2 |
|
ab
2xy |
=n |
から、関係性を見出して、
| ⎛ ⎝ |
a
x |
⎞ ⎠ |
2 |
+ | ⎛ ⎝ |
2nx
a |
⎞ ⎠ |
2 |
= |
a4+4n2x4
(ax)2 |
という形にしたことで、n、a、xの3つのデータがあれば、事足りることが解ります。
また、ピタゴラス数の関係式を有理数にすることで、
新たな自然数p、q、rを使って、
| ⎛ ⎝ |
p2-q2
r |
⎞ ⎠ |
2 |
+ | ⎛ ⎝ |
2pq
r |
⎞ ⎠ |
2 |
= | ⎛ ⎝ |
p2+q2
r |
⎞ ⎠ |
2 |
| n= |
p2-q2
r |
× |
2pq
r |
÷2= |
pq(p2-q2)
r2 |
| r2= |
pq(p2-q2)
n |
とすることで、n, p, qの3つのデータで事足りるということが解りました。
と書きました。
実際にプログラミングに取り組もうと考えていたところ、昔の研究が役に立ち始めました。
nは平方因子を持たない合同数として、
p>q、pとqは互いに素、pとqは偶奇が異なる。
数学的に書くと、
p>q, gcd(p, q)=1, p+q≡1 (mod 2)
といったところだろうか。
u=pq(p2-q2)
として、uを素因数分解して、平方因子を取り除いたものがnである。
これはつまり、p, qが定まれば、nおよびrが一意に定まるということだ。
例えば、p=16のとき、q={ 1, 3, 5, 7, 9, 11, 13, 15 }が考えられ、
(p, q)=(16, 1)のとき、
u=4080=24・3・5・17
n=3・5・17=255
(p, q)=(16, 3)のとき、
u=11856=24・3・13・19
n=3・13・19=741
(p, q)=(16, 5)のとき、
u=18480=24・3・5・7・11
n=3・5・7・11=1155
(p, q)=(16, 7)のとき、
u=23184=24・33・7・23
n=3・7・23=483
(p, q)=(16, 9)のとき、
u=25200=24・32・52・7
n=7
(p, q)=(16, 11)のとき、
u=23760=24・33・5・11
n=3・5・11=165
(p, q)=(16, 13)のとき、
u=18096=24・3・13・29
n=3・13・29=1131
(p, q)=(16, 15)のとき、
u=7440=24・3・5・31
n=3・5・31=465
これをプログラミングすればいいということだ。
ただ、特定のnについて求める方法ではないので、そのnが見つかるのがいつになるかは解らない。
下手な鉄砲も数打ちゃ当たる。
いや、下手なのか?
かなり上手な撃ち方をしているように思う。
ではでは