[ 1 2 3 4 5 6 ]
ついに、0<x≦y≦z<100万まで検索してしまいました。
これも単にコンパイラの-O3オプションの性能の賜でgcc様様です。
100万まで検索してトータルいくつあったのかというと、予想の400個よりも少し少なめの385個でした。
さて、1000万まではやりません。
なぜかというと、プログラムの内部で
(x+y+z)(yz+xz+xy)%xyz
を計算する必要があり、
(因みに%演算子は剰余、つまりあまりを求める演算です。)
x≦y≦zという条件を付けている以上、x=y=zの可能性も捨てていません。
とは言っても、x=y=z=1だけ、同じ比率であれば、gcd(x, y, z)=1という条件を付けているので、回避は出来ているのだが、イコールが消えただけに過ぎないので、限りなく近づくことは想定している。
つまり上記の式は、
(z+z+z)(zz+zz+zz)%zzz
でもあり、
(3z)(3z2)%z3
9z3%z3
になる可能性があるということ。
64ビット型符号なし整数で演算しているので、
0x0≦9z3≦0xffffffffffffffff
である必要があり、整数型で最大値で考えると、
0<x≦y≦z≦1270259
ということにならざるを得ません。
データをエクセルでまとめてあるのですが、もし1000万まで検索したとしても、おそらく800個程度しか見つからないだろうと思います。
100万までで、対にして233対です。
因みに、自分自身は100万未満だが、相方が100万を超えていているケースで対として求めているものもある。
zが最大は、
x=362, y=1351, z=279254402
で、
(x+y+z)(yz+xz+xy)=133585871044329292120
(x+y+z)(yz+xz+xy)が最大は、
x=699, y=4791, z=226981610
で、
(x+y+z)(yz+xz+xy)=282855976924840263900
どちらにしても、完全に64ビットを超えていますので、やるなら多倍長演算を組み込むことになるので、更に劇的に重くなることは解りますので、絶対にやらないという決意が出来ます。
探索ではなく、もっと画期的な方法で安直に求められるならば、多倍長演算でガンガン求めていきますよ。
ただ、今回のような不定方程式にそんな方法があるのかは、どちらかというと門外漢なのでわかりません。
実は、この不定方程式は、出題者によると、
X=-4(yz+zx+xy)/z2
Y=2(X-4n)y/z-(n-1)X
とすると、楕円曲線 E、
E : Y2=X3+(n2-6n-3)X2+16nX
となり、双有理同値になるそうです。
結果的に楕円曲線の有理点を求めてたのか。
知らんかった。
n | x1 | y1 | z1 | x2 | y2 | z2 |
9 | 1 | 1 | 1 | 0 | 0 | 0 |
10 | 1 | 1 | 2 | 1 | 2 | 2 |
11 | 1 | 2 | 3 | 2 | 3 | 6 |
11 | 8177 | 8874 | 22243 | 11322 | 28379 | 30798 |
14 | 2 | 3 | 10 | 3 | 10 | 15 |
15 | 1 | 2 | 6 | 1 | 3 | 6 |
18 | 2 | 3 | 15 | 2 | 10 | 15 |
26 | 1 | 6 | 14 | 3 | 7 | 42 |
30 | 10 | 77 | 165 | 14 | 30 | 231 |
34 | 1 | 6 | 21 | 2 | 7 | 42 |
35 | 3 | 10 | 65 | 6 | 39 | 130 |
38 | 90 | 391 | 2210 | 207 | 1170 | 5083 |
42 | 561 | 6450 | 13889 | 1650 | 3553 | 40850 |
54 | 55 | 595 | 2002 | 85 | 286 | 3094 |
55 | 1 | 14 | 35 | 2 | 5 | 70 |
59 | 2 | 15 | 85 | 6 | 34 | 255 |
62 | 5075 | 128050 | 160602 | 34475 | 43239 | 1090986 |
63 | 5 | 119 | 170 | 7 | 10 | 238 |
70 | 70 | 551 | 3654 | 95 | 630 | 4959 |
74 | 5 | 22 | 270 | 11 | 135 | 594 |
74 | 598 | 1665 | 29822 | 1035 | 18538 | 51615 |
82 | 119 | 475 | 7106 | 175 | 2618 | 10450 |
90 | 1386 | 35226 | 81473 | 3762 | 8701 | 221141 |
95 | 102 | 2530 | 6545 | 138 | 357 | 8855 |
98 | 1221 | 2950 | 79550 | 1947 | 52503 | 126850 |
102 | 330 | 6083 | 25122 | 385 | 1590 | 29309 |
105 | 1 | 21 | 77 | 3 | 11 | 231 |
122 | 1710 | 15867 | 169043 | 3870 | 41230 | 382571 |
126 | 3 | 114 | 247 | 6 | 13 | 494 |
131 | 1 | 35 | 90 | 7 | 18 | 630 |
135 | 703 | 24206 | 66378 | 931 | 2553 | 87906 |
143 | 2530 | 77349 | 267270 | 4807 | 16610 | 507813 |
158 | 3835 | 7626 | 389090 | 5487 | 279955 | 556698 |
170 | 42 | 1771 | 5106 | 77 | 222 | 9361 |
179 | 3 | 65 | 442 | 15 | 102 | 2210 |
190 | 2 | 21 | 322 | 3 | 46 | 483 |
194 | 6150 | 11413 | 753662 | 8475 | 559650 | 1038583 |
210 | 26 | 2482 | 2847 | 34 | 39 | 3723 |
227 | 51 | 145 | 8330 | 87 | 4998 | 14210 |
234 | 11 | 51 | 2046 | 17 | 682 | 3162 |
234 | 1395 | 115847 | 203130 | 3131 | 5490 | 455914 |
251 | 273 | 1802 | 57187 | 714 | 22659 | 149566 |
294 | 5 | 570 | 874 | 15 | 23 | 2622 |
297 | 5 | 513 | 945 | 19 | 35 | 3591 |
298 | 2 | 85 | 493 | 10 | 58 | 2465 |
310 | 4277 | 364626 | 935701 | 5922 | 15197 | 1295586 |
319 | 2 | 150 | 475 | 6 | 19 | 1425 |
322 | 55 | 5723 | 11682 | 485 | 990 | 103014 |
323 | 2 | 75 | 550 | 3 | 22 | 825 |
323 | 165 | 4343 | 46662 | 215 | 2310 | 60802 |
326 | 2 | 55 | 570 | 11 | 114 | 3135 |
326 | 783 | 1258 | 154802 | 999 | 122931 | 197506 |
330 | 1 | 90 | 234 | 5 | 13 | 1170 |
338 | 34 | 2325 | 8925 | 62 | 238 | 16275 |
370 | 1 | 77 | 286 | 7 | 26 | 2002 |
378 | 3763 | 549610 | 853207 | 9010 | 13987 | 2042890 |
387 | 70 | 6643 | 20002 | 455 | 1370 | 130013 |
406 | 22 | 806 | 7843 | 26 | 253 | 9269 |
434 | 297 | 16157 | 109782 | 1661 | 11286 | 613966 |
442 | 70 | 3905 | 26341 | 110 | 742 | 41393 |
467 | 1275 | 166634 | 421225 | 17238 | 43575 | 5694962 |
494 | 26 | 690 | 11635 | 138 | 2327 | 61755 |
495 | 14 | 3002 | 3857 | 158 | 203 | 43529 |
535 | 14 | 1677 | 5719 | 78 | 266 | 31863 |
542 | 90 | 6935 | 41026 | 855 | 5058 | 389747 |
555 | 14 | 93 | 6634 | 21 | 1498 | 9951 |
563 | 117 | 13090 | 51935 | 1386 | 5499 | 615230 |
595 | 403 | 94913 | 142786 | 1937 | 2914 | 686294 |
606 | 7 | 1566 | 2639 | 54 | 91 | 20358 |
606 | 255 | 54870 | 98294 | 465 | 833 | 179242 |
626 | 638 | 897 | 231478 | 759 | 195866 | 275379 |
670 | 2 | 210 | 1113 | 10 | 53 | 5565 |
702 | 10 | 2065 | 4897 | 70 | 166 | 34279 |
818 | 63 | 187 | 38250 | 77 | 15750 | 46750 |
851 | 1 | 234 | 611 | 18 | 47 | 10998 |
851 | 261 | 4514 | 204943 | 1098 | 49851 | 862174 |
854 | 14 | 4251 | 7630 | 39 | 70 | 21255 |
854 | 10 | 738 | 7667 | 90 | 935 | 69003 |
873 | 13 | 217 | 10465 | 31 | 1495 | 24955 |
882 | 19 | 4386 | 12255 | 34 | 95 | 21930 |
1001 | 19 | 2231 | 16587 | 23 | 171 | 20079 |
1018 | 95 | 231 | 68134 | 105 | 30970 | 75306 |
1026 | 1147 | 508183 | 662818 | 3007 | 3922 | 1737658 |
1107 | 7 | 1178 | 6510 | 19 | 105 | 17670 |
1166 | 3 | 442 | 3026 | 39 | 267 | 39338 |
1170 | 30 | 1743 | 32702 | 105 | 1970 | 114457 |
1190 | 10 | 5015 | 6834 | 295 | 402 | 201603 |
1235 | 58 | 365 | 61335 | 146 | 24534 | 154395 |
1242 | 70 | 5467 | 80230 | 77 | 1130 | 88253 |
1243 | 10 | 1406 | 10915 | 38 | 295 | 41477 |
1246 | 3 | 1159 | 2562 | 19 | 42 | 16226 |
1290 | 329 | 22554 | 395082 | 1253 | 21949 | 1504674 |
1322 | 286 | 117845 | 258630 | 7007 | 15378 | 6336435 |
1359 | 1 | 286 | 1066 | 11 | 41 | 11726 |
1418 | 390 | 86510 | 463177 | 6330 | 33891 | 7517719 |
1419 | 3 | 690 | 3542 | 15 | 77 | 17710 |
1530 | 213 | 2478 | 297206 | 177 | 21229 | 246974 |
1635 | 2 | 117 | 3094 | 9 | 238 | 13923 |
1638 | 21 | 130 | 29445 | 14 | 3171 | 19630 |
1658 | 265 | 518 | 289710 | 371 | 207495 | 405594 |
1691 | 2 | 493 | 2871 | 34 | 198 | 48807 |
1811 | 13 | 330 | 22295 | 66 | 4459 | 113190 |
1830 | 66 | 38170 | 82239 | 110 | 237 | 137065 |
1833 | 133 | 657 | 201845 | 171 | 52535 | 259515 |
1886 | 2 | 714 | 3043 | 42 | 179 | 63903 |
1886 | 90 | 24386 | 144535 | 1602 | 9495 | 2572723 |
1890 | 34 | 24523 | 39559 | 274 | 442 | 318799 |
2034 | 18 | 7258 | 29223 | 38 | 153 | 61693 |
2091 | 345 | 105530 | 612766 | 915 | 5313 | 1625162 |
2146 | 45 | 13330 | 82818 | 155 | 963 | 285262 |
2147 | 34 | 5775 | 66725 | 462 | 5338 | 906675 |
2215 | 1 | 611 | 1598 | 13 | 34 | 20774 |
2246 | 34 | 6266 | 69615 | 482 | 5355 | 986895 |
2283 | 165 | 119535 | 256234 | 195 | 418 | 302822 |
2345 | 19 | 7599 | 36803 | 51 | 247 | 98787 |
2409 | 13 | 1653 | 29393 | 87 | 1547 | 196707 |
2697 | 147 | 923 | 340795 | 213 | 78645 | 493805 |
2751 | 30 | 29274 | 53095 | 102 | 185 | 180523 |
2751 | 126 | 89946 | 255899 | 342 | 973 | 694583 |
2790 | 66 | 1778 | 175641 | 154 | 15213 | 409829 |
3087 | 26 | 18395 | 61694 | 65 | 218 | 154235 |
3258 | 123 | 7590 | 386507 | 690 | 35137 | 2168210 |
3374 | 170 | 30355 | 539682 | 2335 | 41514 | 7412691 |
3465 | 5 | 6045 | 11253 | 65 | 121 | 146289 |
3515 | 30 | 6545 | 98362 | 105 | 1578 | 344267 |
3538 | 19 | 12950 | 54131 | 50 | 209 | 142450 |
3538 | 187 | 257890 | 402743 | 6290 | 9823 | 13546810 |
3587 | 345 | 251979 | 983066 | 2535 | 9890 | 7223398 |
3627 | 155 | 3002 | 531278 | 395 | 69905 | 1353902 |
3794 | 38 | 765 | 136510 | 171 | 30514 | 614295 |
4155 | 6 | 2002 | 22841 | 66 | 753 | 251251 |
4170 | 69 | 749 | 262578 | 161 | 56442 | 612682 |
4343 | 270 | 248319 | 922405 | 918 | 3410 | 3136177 |
4610 | 33 | 6213 | 145046 | 327 | 7634 | 1437274 |
4770 | 6 | 3718 | 24843 | 22 | 147 | 91091 |
4926 | 7 | 12782 | 21663 | 154 | 261 | 476586 |
5030 | 42 | 49178 | 161805 | 734 | 2415 | 2827735 |
5050 | 1 | 1066 | 3977 | 26 | 97 | 103402 |
5251 | 14 | 28455 | 44986 | 105 | 166 | 337395 |
5286 | 33 | 49646 | 124597 | 618 | 1551 | 2333362 |
5590 | 2 | 1769 | 9394 | 29 | 154 | 136213 |
5590 | 155 | 19570 | 839759 | 190 | 8153 | 1029382 |
5642 | 55 | 101343 | 208662 | 2035 | 4190 | 7720494 |
5735 | 182 | 206242 | 836199 | 202 | 819 | 928089 |
5738 | 15 | 5502 | 80303 | 210 | 3065 | 1124242 |
5786 | 1 | 1598 | 4182 | 47 | 123 | 196554 |
5959 | 10 | 1134 | 57915 | 14 | 715 | 81081 |
6057 | 175 | 1807 | 964243 | 325 | 173425 | 1790737 |
6391 | 2 | 3051 | 9718 | 27 | 86 | 131193 |
6815 | 6 | 3333 | 37471 | 66 | 742 | 412181 |
7210 | 22 | 799 | 153527 | 94 | 18062 | 655979 |
7262 | 10 | 18315 | 54242 | 495 | 1466 | 2684979 |
7655 | 3 | 322 | 22425 | 14 | 975 | 104650 |
7766 | 58 | 17442 | 431375 | 1026 | 25375 | 7630875 |
7931 | 3 | 3026 | 20737 | 102 | 699 | 705058 |
8073 | 13 | 42365 | 62517 | 185 | 273 | 889665 |
8295 | 6 | 10927 | 38802 | 49 | 174 | 316883 |
8347 | 66 | 228165 | 322399 | 1230 | 1738 | 6008345 |
8830 | 82 | 38258 | 684085 | 814 | 14555 | 6790795 |
8906 | 14 | 44478 | 80131 | 126 | 227 | 721179 |
9430 | 15 | 7810 | 133338 | 55 | 939 | 488906 |
9810 | 2 | 2871 | 16731 | 58 | 338 | 485199 |
10063 | 55 | 1829 | 535370 | 59 | 17270 | 574306 |
10318 | 10 | 10215 | 92843 | 90 | 818 | 835587 |
10374 | 51 | 61795 | 466734 | 85 | 642 | 777890 |
10770 | 3 | 551 | 31578 | 29 | 1662 | 305254 |
10811 | 5 | 306 | 52870 | 9 | 1555 | 95166 |
10811 | 77 | 37506 | 793078 | 399 | 8437 | 4109586 |
11459 | 5 | 858 | 56095 | 66 | 4315 | 740454 |
11714 | 6 | 925 | 68894 | 75 | 5586 | 861175 |
12151 | 11 | 19834 | 113729 | 94 | 539 | 971866 |
12210 | 21 | 45026 | 211218 | 479 | 2247 | 4817782 |
12611 | 58 | 43301 | 687039 | 1634 | 25926 | 19355547 |
12834 | 34 | 166719 | 269459 | 714 | 1154 | 5658639 |
13079 | 30 | 27231 | 364645 | 174 | 2330 | 2114941 |
13590 | 42 | 40602 | 529501 | 606 | 7903 | 7639943 |
14578 | 15 | 14003 | 204402 | 335 | 4890 | 4564978 |
15135 | 1 | 4182 | 10947 | 34 | 89 | 372198 |
15334 | 2 | 1575 | 29050 | 9 | 166 | 130725 |
15723 | 2 | 3350 | 28073 | 50 | 419 | 701825 |
16425 | 43 | 2431 | 691483 | 187 | 53191 | 3007147 |
17270 | 3 | 4902 | 46870 | 57 | 545 | 890530 |
18473 | 31 | 124655 | 447795 | 233 | 837 | 3365685 |
18825 | 1 | 3977 | 14841 | 41 | 153 | 608481 |
19886 | 59 | 278331 | 894558 | 257 | 826 | 3896634 |
20010 | 9 | 7913 | 171954 | 193 | 4194 | 3687458 |
21798 | 5 | 546 | 107445 | 14 | 2755 | 300846 |
21854 | 10 | 92199 | 126290 | 1263 | 1730 | 15950427 |
22274 | 62 | 400675 | 979950 | 341 | 834 | 5389725 |
22275 | 2 | 3587 | 40934 | 17 | 194 | 347939 |
22970 | 39 | 1219 | 866762 | 69 | 49062 | 1533502 |
24207 | 2 | 2623 | 45750 | 43 | 750 | 983625 |
24927 | 5 | 48714 | 75895 | 138 | 215 | 2094702 |
24939 | 15 | 24710 | 349117 | 210 | 2967 | 4887638 |
27010 | 11 | 53955 | 243070 | 99 | 446 | 2187630 |
28626 | 3 | 11427 | 74422 | 39 | 254 | 967486 |
28802 | 33 | 260117 | 690150 | 2431 | 6450 | 50841050 |
29806 | 3 | 27807 | 61594 | 93 | 206 | 1909414 |
32787 | 14 | 1691 | 453530 | 89 | 23870 | 2883155 |
33251 | 9 | 97366 | 201843 | 178 | 369 | 3992006 |
34409 | 7 | 58643 | 182175 | 169 | 525 | 4398225 |
36491 | 13 | 84242 | 390039 | 1154 | 5343 | 34623462 |
38313 | 13 | 201097 | 296905 | 403 | 595 | 9204055 |
38595 | 5 | 3951 | 188770 | 9 | 430 | 339786 |
38595 | 14 | 3978 | 534429 | 26 | 3493 | 992511 |
38930 | 2 | 10602 | 67239 | 38 | 241 | 1277541 |
39050 | 3 | 11454 | 105659 | 138 | 1273 | 4860314 |
39611 | 1 | 10947 | 28658 | 123 | 322 | 3524934 |
53802 | 19 | 268926 | 753195 | 266 | 745 | 10544730 |
54299 | 3 | 20737 | 142130 | 267 | 1830 | 12649570 |
57131 | 2 | 16731 | 97513 | 198 | 1154 | 9653787 |
57442 | 6 | 29350 | 315219 | 50 | 537 | 2626825 |
64075 | 3 | 31310 | 160890 | 101 | 519 | 5416630 |
70234 | 1 | 14841 | 55386 | 97 | 362 | 5372442 |
72295 | 14 | 228865 | 783171 | 910 | 3114 | 50906115 |
73739 | 11 | 1450 | 803550 | 29 | 16071 | 2118450 |
76958 | 10 | 324690 | 444839 | 2370 | 3247 | 105426843 |
78730 | 6 | 7099 | 464870 | 93 | 6090 | 7205485 |
103690 | 1 | 28658 | 75026 | 89 | 233 | 6677314 |
107215 | 6 | 52531 | 590673 | 262 | 2946 | 25792721 |
124486 | 3 | 8554 | 364767 | 14 | 597 | 1702246 |
146895 | 7 | 48507 | 939911 | 69 | 1337 | 9264837 |
147658 | 5 | 287095 | 447354 | 335 | 522 | 29972718 |
262095 | 6 | 4015 | 880599 | 110 | 24126 | 16144315 |
271451 | 1 | 55386 | 206702 | 153 | 571 | 31625406 |
276115 | 1 | 75026 | 196419 | 322 | 843 | 63246918 |
314286 | 2 | 10725 | 541398 | 25 | 1262 | 6767475 |
332938 | 3 | 293242 | 649599 | 302 | 669 | 65392966 |
372110 | 2 | 97513 | 568345 | 338 | 1970 | 96050305 |
377534 | 3 | 142130 | 974170 | 699 | 4791 | 226981610 |
710655 | 2 | 143395 | 611658 | 595 | 2538 | 181968255 |
978130 | 1 | 196419 | 514230 | 233 | 610 | 119815590 |
ではでは