a=1の場合、a=2の場合、a>5の場合でプログラムを分ける。
10 ' print=print+"g_odd_u.txt"
20 K%=32767:L%=89:dim G%(L%):gosub 130:' set congruum into g%()
30 for M%=3 to K% step 2:M4=M%^4
40 for N%=1 to M%-2 step 2:if gcd(M%,N%)>1 then 90 else N4=N%^4
50 for I%=1 to L%:B2=G%(I%)^2
60 Z2=2*(M4+B2*N4):Z=isqrt(Z2):if res>0 then 80
70 gosub 210
80 next I%
90 next N%
100 next M%
110 end
120 ' congruum
130 for I%=1 to L%:read W%:G%(I%)=W%:next I%:return
140 data 101,103,127,157,173,181,191,197,199,223,229,237,263,269,271,277
150 data 293,303,311,317,365,367,373,389,397,407,413,415,421,431,439,453
160 data 461,463,487,493,501,503,519,541,543,557,573,583,597,599,607,613
170 data 623,631,647,653,661,677,685,695,701,703,717,727,733,743,757,767
180 data 773,781,789,797,807,815,823,829,831,853,863,877,887,893,911,917
190 data 919,933,941,965,967,983,989,991,997
200 ' g_prt.ub
210 print G%(I%);"(";1;") :";M%;",";N%;":";
220 X=M%^2+G%(I%)*N%^2:Y=M%^2-G%(I%)*N%^2:reduce X,Y
230 print X;Y;":";:M=X^2:N=Y^2:print M;N
240 return
10 ' print=print+"g_even_u.txt"
20 K%=32767:L%=32:dim G%(L%),B(L%):gosub 130:' set congruum into g%()
30 for M%=2 to K%:M4=M%^4
40 for N%=1 to M%-1:if gcd(M%,N%)>1 then 90 else N4=N%^4
50 for I%=1 to L%:B2=G%(I%)^2
60 Z=isqrt(M4+B(I%)*N4):if res>0 then 80
70 gosub 170
80 next I%
90 next N%
100 next M%
110 end
120 ' congruum
130 for I%=1 to L%:read W%:G%(I%)=W%:B(I%)=W%^2\4:next I%:return
140 data 118,142,278,302,326,334,358,382,398,446,454,478,502,542,566,614
150 data 638,662,718,742,758,766,822,838,862,878,886,926,958,974,982,998
160 ' g_prt.ub
170 print G%(I%);"(";2;") :";M%;",";N%;":";
180 X=M%^2+G%(I%)*N%^2:Y=M%^2-G%(I%)*N%^2:reduce X,Y
190 print X;Y;":";:M=X^2:N=Y^2:print M;N
200 return
10 ' print=print+"g_aux5.txt"
20 E%=11000:word 10:dim T(E%):for I%=1 to E%:T(I%)=I%^4:next I%
30 K%=32767:L%=57:dim G%(L%),A%(L%),B%(L%),C(L%)
40 for I%=1 to L%:read D%:G%(I%)=D%:read D%:A%(I%)=D%:read D%:B%(I%)=D%
50 C(I%)=B%(I%)^2
60 next I%
70 '
80 for M%=3 to K% step 2:if M%<=E% then M4=T(M%) else M4=M%^4
90 for N%=1 to M%-2 step 2:if gcd(M%,N%)>1 then 170
100 if N%<=E% then N4=T(N%) else N4=N%^4
110 for I%=1 to L%
120 Z2=2*(M4+C(I%)*N4):if A%(I%)=1 then 140
130 Z2=Z2\A%(I%):if res>0 then 160
140 Z=isqrt(Z2):if res>0 then 160
150 gosub 210
160 next I%
170 next N%
180 next M%
190 end
200 ' g_prt.ub
210 print G%(I%);"(";A%(I%);") :";M%;",";N%;":";
220 X=M%^2+B%(I%)*N%^2:Y=M%^2-B%(I%)*N%^2:reduce X,Y:print X;",";Y
230 return
240 ' g ,a, b
250 data 365,5,73 , 415,5,83 , 685,5,137, 695,5,139, 815,5,163
260 data 965,5,193, 767,13,59, 493,17,29, 493,29,17, 407,37,11
270 data 703,37,19, 583,53,11, 365,73,5 , 623,89,7 , 101,101,1
280 data 303,101,3, 685,137,5, 157,157,1, 173,173,1, 519,173,3
290 data 181,181,1, 543,181,3, 965,193,5, 197,197,1, 229,229,1
300 data 269,269,1, 807,269,3, 277,277,1, 831,277,3, 293,293,1
310 data 317,317,1, 365,365,1, 373,373,1, 389,389,1, 397,397,1
320 data 421,421,1, 461,461,1, 493,493,1, 541,541,1, 557,557,1
330 data 613,613,1, 653,653,1, 661,661,1, 677,677,1, 685,685,1
340 data 701,701,1, 733,733,1, 757,757,1, 773,773,1, 797,797,1
350 data 829,829,1, 853,853,1, 877,877,1, 911,911,1, 941,941,1
360 data 965,965,1, 997,997,1
10 ' print=print+"g_aux58.txt"
20 E%=11000:word 10:dim T(E%):for I%=1 to E%:T(I%)=I%^4:next I%
30 K%=32767:L%=3:dim G%(L%),A%(L%),B%(L%),C%(L%)
40 for I%=1 to L%:read D%:G%(I%)=D%:read D%:A%(I%)=D%:read D%:B%(I%)=D%
50 C%(I%)=B%(I%)^2
60 next I%
70 '
80 for M%=2 to K%:if M%'lt;=E% then M4=T(M%) else M4=M%^4
90 for N%=1 to M%-1:if gcd(M%,N%)>1 then 160
100 if N%<=E% then N4=T(N%) else N4=N%^4
110 for I%=1 to L%
120 Z2=2*(M4+C%(I%)*N4)\A%(I%):if res>0 then 150
130 Z=isqrt(Z2):if res>0 then 150
140 gosub 200
150 next I%
160 next N%
170 next M%
180 end
190 ' g_prt.ub
200 print G%(I%);"(";A%(I%);") :";M%;",";N%;":";
210 X=M%^2+B%(I%)*N%^2:Y=M%^2-B%(I%)*N%^2:reduce X,Y:print X;",";Y
220 return
230 ' g ,a, b
240 data 638,58,11,742,106,7,822,274,3
32,767以下の m, n について調べたところ、a=1の場合、a>5の場合(奇数)について、
新たに以下の 13個 について解が求められた。
103, 199, 271, 303, 415, 431, 439, 519, 703, 767,
807, 815, 919
実行結果は以下のとおり。
解が依然見つかっていないのは、以下の 108個。
101, 118, 127, 142, 157, 173, 191, 197, 223, 229, 237, 263, 269, 277, 278, 293, 302, 311, 317, 326, 327, 334, 358, 365, 367, 373, 382, 389, 397, 398, 407, 413, 421, 446, 453, 454, 461, 463, 478, 487, 493, 501, 502, 503, 541, 542, 543, 557, 566, 573, 583, 597, 599, 607, 613, 614, 623, 631, 638, 647, 653, 661, 662, 677, 685, 695, 701, 717, 718, 727, 733, 742, 743, 757, 758, 766, 773, 781, 789, 797, 822, 823, 829, 831, 838, 853, 862, 863, 877, 878, 886, 887, 893, 911, 917, 926, 933, 941, 958, 965, 967, 974, 982, 983, 989, 991, 997, 998
| 前 | この章の目次 | 次 |
|---|