Homeに戻る  一覧に戻る 

Rational Points on Elliptic Curves: y^2=x^3-n^2x (n \in [1..200])


[2001.05.27]合同数,y^2=x^3-n^2x (n \in [1..200])の有理点


■合同数とは
3辺a,b,cが自然数である直角三角形をPythagoras triangleと呼ぶ。互いに素な3つの自然数a,b,cについて、a2+b2=c2であるとき、a,bのどちらかは偶数なので、例えばbを偶数とすると、
     (a,b,c)=(m2-n2,2mn,m2+n2)   ただし、m,nは互いに素
によって、全ての自然数解[a:b:c]が表現できる。

3辺(a,b,c)が有理数の直角三角形でかつ面積がnであるものが存在するとき、nを合同数(congruum)と呼ぶ。
例えば、3辺が(3,4,5)の直角三角形の面積は6であるので、6は合同数である。また、3辺が(35/12,24/5,337/60)の直角三角形の面積は7であるので、7も合同数である。
有理数nが合同数なら、任意の有理数d>0に対して、d2nも合同数である。よって、本質的には、nを正整数としてよい。

■合同数nと楕円曲線y^2=x^3-n^2xの有理点の関係
有理数nを合同数とする。有理数a,b,c>0が存在して、
     a2+b2=c2
     n=(1/2)ab
となる。ここで、
     x=(1/4)c2
とおくと、
     x+n=(1/4)(a+b)2
     x-n=(1/4)(a-b)2
であり、3つの有理数x,x+n,x-nが全て有理数の平方数となる。よって、x(x+n)(x-n)は、有理数の平方数である。これは、楕円曲線En
     y2=x(x+n)(x-n) ------------ (1)
つまり、
     y2=x3-n2x ------------ (2)
が自明でない(y!=0なる)有理点(x,y)を持つことと同値である。
逆に、楕円曲線(1)がy!=0なる有理点(x,y)を持つとすると、
     a=|(n2-x2)/y|
     b=|2nx/y|
     c=|(n2+x2)/y|
は、a2+b2=c2および(1/2)ab=nを満たす。
よって、有理数nが合同数かどうかを判定するには、楕円曲線Enがy!=0の有理点(x,y)を持つかどうかを調べることに帰着する。

■200以下の自然数の中で、合同数を求める
200以下の自然数nの内、平方因子p2を約数として持たないものについて、楕円曲線Enの有理点の成す群En(Q)をJohn Cremonaのプログラム(mwrank 2.8)を使って求める。例えば、素数157については、mwrankの実行結果は、このようになる。

rank(En) > 0ならば、nは合同数であり、rank(En) = 0ならば、nは非合同数である。

この範囲で、
     5,6,7,13,14,15,21,22,23,29, 30,31,34,37,38,39,41,46,47,53,
     55,61,62,65,69,70,71,77,78,79, 85,86,87,93,94,95,101,102,103,109,
     110,111,118,119,127,133,134,137,138,141, 142,143,145,149,151,154,157,158,159,161,
     165,166,167,174,181,182,183,190,191,194, 197,199
の72個が合同数であることを確認できた。rankが確定できなかったため、合同数かどうか不明なものは、
     17,73,82,89,97,113,146,173,178,185,193
の11個である。

■[2001.06.24追加]合同数の別の判定法により、不明なもの(rank欄のrankに*を付けた)のうち、
     173は合同数であるらしく、
     17,73,82,89,97,113,146,178,185,193は非合同数である
ことが判明した。

■[2002.04.02追加]
mwrankにより、173が合同数であることが判明した。

n rank(En) En:y2=x3-n2x
En(Q)/En(Q)torsの生成元
[X:Y:Z]
En(Q)/En(Q)torsの生成元
の高さ
Pythagoras三角形
(a,b,c)
ただし、a2+b2=c2,(1/2)ab=n
1 0 - - -
2 0 - - -
3 0 - - -
5 1 [-4 : -6 : 1] 1.8994821725318 (3/2,20/3,41/6)
6 1 [-3 : -9 : 1] 0.888625874839619 (3,4,5)
7 1 [336 : -980 : 27] 2.98888150760334 (35/12,24/5,337/60)
10 0 - - -
11 0 - - -
13 1 [-180 : -1938 : 125] 5.83251173698765 (323/30,780/323,106921/9690)
14 1 [18 : -48 : 1] 2.13412084904475 (8/3,21/2,65/6)
15 1 [-30 : -225 : 8] 1.49134481191963 (15/2,4,17/2)
17 0* - - -
18 0 - - -
19 0 - - -
21 1 [-126 : -441 : 8] 1.66145722072977 (7/2,12,25/2)
22 1 [-2695 : -2541 : 125] 4.25314497038941 (33/35,140/3,4901/105)
23 1 [74443824 : 287596140 : 2352637] 10.3678792115526 (80155/20748,41496/3485,905141617/72306780)
26 0 - - -
29 1 [-63700 : -6930 : 2197] 8.84371273069903 (99/910,52780/99,48029801/90090)
30 1 [-6 : -72 : 1] 1.34823470133131 (12,5,13)
31 1 [446400 : -11032280 : 729] 7.40047616056436 (8897/360,720/287,2566561/103320)
33 0 - - -
34 2 [-2 : -48 : 1]
[3332 : -18207 : 64]
2.51296018075818
4.13718093364394
(24,17/6,145/6)
(153/28,112/9,3425/252)
35 0 - - -
37 1 [-255780 : -32672766 : 3048625] 13.5654207002856 (777923/6090,450660/777923,605170417321/4737551070)
38 1 [-137275 : -1712223 : 15625] 7.22861930705819 (5301/425,1700/279,1646021/118575)
39 1 [-36 : -90 : 1] 2.89031913193692 (5/2,156/5,313/10)
41 2 [-320 : -8184 : 125]
[361620 : -1023729 : 8000]
6.96035079885519
6.40990904097688
(1023/40,3280/1023,1054721/40920)
(1189/420,840/29,354481/12180)
42 0 - - -
43 0 - - -
46 1 [242 : -3696 : 1] 4.53061187026164 (168/11,253/42,7585/462)
47 1 [1035508142016 : 17682275119320 : 3463512697] 16.5619530318144 (98589785/5773608,
11547216/2097655,
217287944875297/12111037689240)
51 0 - - -
53 1 [-6886171712420 : -50101876246422 : 210114283625] 21.5852745537588 (1472112483/202332130,
21447205780/1472112483,
4850493897329785961/297855654284978790)
55 1 [1250 : 14625 : 8] 4.97176244382604 (117/10,1100/117,17561/1170)
57 0 - - -
58 0 - - -
59 0 - - -
61 1 [-4551105780 : -20556753594 : 88121125] 16.6106700035106 (6428003/1423110,
173619420/6428003,
250510625883241/9147755349330)
62 1 [2852046 : 42110880 : 12167] 10.7989786833419 (84560/5727,
177537/21140,
2056525601/121068780)
65 2 [-16 : -252 : 1]
[15730 : 697125 : 8]
4.27794483202398
4.8107173128923
(63/4,520/63,4481/252)
(975/22,44/15,14657/330)
66 0 - - -
67 0 - - -
69 1 [172224 : 723672 : 2197] 5.57076347052611 (437/104,624/19,65425/1976)
70 1 [-1050 : -9800 : 27] 2.06466253077509 (28/3,15,53/3)
71 1 [2811600 : -129150420 : 1331] 8.20386271822018 (30317/660,1320/427,12974641/281820)
73 0* - - -
74 0 - - -
77 1 [-314608 : -194775 : 4096] 8.28897102349582 (525/848,18656/75,15820337/63600)
78 1 [-3 : -135 : 1] 3.2754299310966 (45,52/15,677/15)
79 1 [172508271000000 : 239420967877000 : 2157189905961] 19.2886850723429 (233126551/167973000,
335946000/2950969,
56434050774922081/495683115837000)
82 0* - - -
83 0 - - -
85 1 [-36 : -462 : 1] 4.61175377959486 (77/6,1020/77,8521/462)
86 1 [-27391 : -660093 : 2197] 5.88604150443546 (2193/91,364/51,116645/4641)
87 1 [-1334025 : -2414412 : 15625] 9.79996564525122 (3484/1925,167475/1742,322446497/3353350)
89 0* - - -
91 0 - - -
93 1 [-265050 : -11200455 : 54872] 7.29846847081854 (8029/190,1140/259,2090761/49210)
94 1 [497794 : 1870176 : 4913] 9.57168030058901 (7728/2057,96679/1932,199428385/3974124)
95 1 [14450 : 613275 : 8] 7.29944959277043 (1443/34,6460/1443,2093801/49062)
97 0* - - -
101 1 [-83644339902500 : -2808122994457950 : 9315348971921] 24.5629442246065 (44538033219/1326635050,
267980280100/44538033219,
2015242462949760001961/59085715926389725950)
102 1 [-255 : -18207 : 125] 3.92109599210752 (357/5,20/7,2501/35)
103 1 [78594225115614914553063216 : -438796896207119246458729340 : 656276526802466337383253] 37.0188312965442 (45463628564396045/8143126555471908,
16286253110943816/441394452081515,
134130664938047228374702001079697/3594330884182957394223708580620)
105 0 - - -
106 0 - - -
107 0 - - -
109 1 [-8820 : -87234 : 125] 8.153784077284 (2077/210,45780/2077,10537321/436170)
110 1 [-11 : -363 : 1] 2.34669891776593 (33,20/3,101/3)
111 1 [-36 : -630 : 1] 3.74416782527627 (35/2,444/35,1513/70)
113 0* - - -
114 0 - - -
115 0 - - -
118 1 [-21548165692175 : -1425552845175723 : 6778095203125] 20.4018169141745 (5500093929/83137525,
332550100/93221931,
513474237010368101/7750240619060775)
119 1 [85680 : -2209116 : 125] 5.0445509231278 (1547/60,120/13,21361/780)
122 0 - - -
123 0 - - -
127 1 [679524007245309084901253002331904 : -680061120400889506109527474197680 : 5329525731816164537079693913473] 47.5166574476431 (305955626559373590335/305713982408400781488,
611427964816801562976/2409099421727351105,
186923531308991520213350616180076637262337/736495378234043911137389188146160344240)
129 0 - - -
130 0 - - -
131 0 - - -
133 1 [155925924 : 1985131610 : 658503] 12.6690980513977 (560455/44022,
1672836/80065,
86236037017/3524621430)
134 1 [-968711527 : -136060050273 : 1064332261] 14.5533188430336 (17065101/121499,
485996/254703,
4346933487845/30946159797)
137 2 [-15680 : -77112 : 125]
[195288354828 : 1619389601535 : 1111934656]
8.46213659654101
14.4187852265143
(1377/280,76720/1377,21565121/385560),
(10077035/1215228,
2430456/73555,
3045144916657/89386095540)
138 2 [150 : 720 : 1]
[27830 : 325864 : 125]
3.19681035607189
4.68405644985065
(24/5,115/2,577/10)
(644/55,165/7,10133/385)
139 0 - - -
141 1 [6768 : 556668 : 1] 3.88064920869964 (329/4,24/7,2305/28)
142 1 [83178667741246 : -362271381745680 : 547945864487] 22.3312972437872 (2540793240/583374253,
41419571963/635198310,
24216950098966011361/370558339603112430)
143 1 [-97190225 : -314365260 : 704969] 11.532402628992 (27348/8455,
1209065/13674,
10229482177/115613670)
145 2 [-144 : -204 : 1]
[8450 : 272025 : 8]
5.32143223614223
6.79914168092108
(17/12,3480/17,41761/204)
(837/26,7540/837,727481/21762)
146 0* - - -
149 1 [-1416100 : -17592246 : 15625] 11.6728330971715 (73917/5950,
1773100/73917,
11880808361/439806150)
151 1 [3299108400 : 69360185980 : 6751269] 11.7854272525773 (1350997/64260,
128520/8947,
14639349841/574934220)
154 2 [-98 : -1176 : 1]
[350 : -5880 : 1]
2.29141533813899
3.04717431616727
(12,77/3,85/3)
(84/5,55/3,373/15)
155 0* - - -
157 1 [-8831247480342855244749962265791220 : -167661624456834335404812111469782006 : 150201095200135518108761470235125] 54.600889294017036 (411340519227716149383203/21666555693714761309610,
6803298487826435051217540/411340519227716149383203,
224403517704336969924557513090674863160948472041/8912332268928859588025535178967163570016480830)
158 1 [132096258 : 4382264160 : 117649] 13.8287348535882 (1887280/56889,
4494231/471820,
926434572641/26841367980)
159 1 [-1885725 : -29795220 : 24389] 10.549132489288 (38948/2465,
391935/19474,
1228278977/48003410)
161 2 [-4508 : -77763 : 64]
[289800 : -6609855 : 512]
2.94658827180815
5.53437049356797
(69/4,56/3,305/12)
(2737/120,240/17,54721/2040)
163 0 - - -
165 1 [240 : 2700 : 1] 3.02868594629899 (45/4,88/3,377/12)
166 1 [-79226720926303 : -1280060076599271 : 982404224621] 19.2926577140026 (1573875963/97411859,
389647436/18962361,
48284238996030245/1847158836039099)
167 1 [1129839105905811504 : 84369332049915302460 : 202437784087813] 25.4836544894457 (1488332629645/19931133348,
39862266696/8912171435,
13288048626437171422417/177629677291221514380)
170 0 - - -
173 1 [-8828296763367959908803071411060 : -20360870451358918327824797419314 : 51821147995950007613689182125] 49.5741080208980796 (418416739097462232963/181421867613059954270,
62771966194118744177420/418416739097462232963,
11389552969201600543101928087171460571651881/75909946247628040203029119534348866602010)
174 1 [-150 : -1080 : 1] 3.32880570859385 (36/5,145/3,733/15)
177 0 - - -
178 0* - - -
179 0 - - -
181 1 [-5033811802500 : -98584619083950 : 69985463561] 22.0060394295069 (2820733021/144028950,
52138479900/2820733021,
10940671490772286441/406267215244957950)
182 1 [93639 : 5506865 : 27] 5.8612639313828 (1235/21,588/95,117973/1995)
183 1 [-740574900 : -62645458590 : 158340421] 16.7092836746829 (17847709/210990,
77222340/17847709,
318957135928681/3765688121910)
185 0* - - -
186 0 - - -
187 0 - - -
190 1 [-171 : -1083 : 1] 2.62146641223827 (19/3,60,181/3)
191 1 [47962593373344732273148401600 : -209826837985889533206096073320 : 238846809751531028648745481] 40.8751739487378 (1726816796630813713/394718867434084440,
789437734868168880/9040925636810543,
311996818759910472998178689881743841/3568623927917636168751328944250920)
193 0* - - -
194 2 [-63050 : -2258160 : 2197]
[5867724 : -341367929 : 1728]
4.84754365979166
8.55093823853429
(2328/65,65/6,14593/390)
(49567/852,3408/511,25494625/435372)
195 0 - - -
197 1 [-330270368645827266020 : -20268228090030783965298 : 32137565226617488625] 35.2509714736046 (1988610855961437/32404373859130,
12767323300497220/1988610855961437,
3976155246560604347409241506281/64439689636898922846150369810)
199 1 [1450616365034048612400 : 145984574985102486270820 : 143177969299676949] 30.2742606200221 (196524565628899/1952821050180,
3905642100360/987560631301,
194229730921552615921952401/1928529189133642599684180)

■[2004.05.24追加]
n=17,73,82,89,97,113,146,178,185,193に対して、L-関数 L(En,s)はs=1における値が消えない、つまり、
     L(En,1) != 0
であるので、
     rank(En) = 0
     En(Q) = { [0:1:0] }
であることが分かる。

[pari/gpによる計算]
gp>  read("congr.gp")
time = 36 ms.
gp>  e=ec(17)
time = 70 ms.
%1 = [0, 0, 0, -289, 0, 0, -578, 0, -83521, 13872, 0, 1544804416, 1728, [17.00000000000000000000000000, 0.E-28, -17.00000000000000000000000000]~, 0.6359423678114778584911156426, 0.6359423678114778584911156425*I, -2.470029371058592287175825113, -7.410088113175776861527475341*I, 0.4044226951776689898523585752]
gp>  elllseries(e,1)
time = 288 ms.
%2 = 2.543769471245911433964462570
gp>  e=ec(73)
time = 14 ms.
%3 = [0, 0, 0, -5329, 0, 0, -10658, 0, -28398241, 255792, 0, 9685390482496, 1728, [73.00000000000000000000000000, 0.E-28, -73.00000000000000000000000000]~, 0.3068886241686301024937169094, 0.3068886241686301024937169093*I, -5.118457326498262886584559048, -15.35537197949478865975367714*I, 0.09418062764411469626698761341]
gp>  elllseries(e,1)
time = 649 ms.
%4 = 1.227554496674520409974867637
gp>  e=ec(82)
time = 12 ms.
%5 = [0, 0, 0, -6724, 0, 0, -13448, 0, -45212176, 322752, 0, 19456426971136, 1728, [82.00000000000000000000000000, 0.E-28, -82.00000000000000000000000000]~, 0.2895578171765585871462424177, 0.2895578171765585871462424177*I, -5.424810637514578712049901449, -16.27443191254373613614970434*I, 0.08384372948805332716451336317]
gp>  elllseries(e,1)
time = 518 ms.
%6 = 2.316462537412468697169939341
gp>  e=ec(89)
time = 12 ms.
%7 = [0, 0, 0, -7921, 0, 0, -15842, 0, -62742241, 380208, 0, 31806802621504, 1728, [89.00000000000000000000000000, 0.E-28, -89.00000000000000000000000000]~, 0.2779375448804308130256604066, 0.2779375448804308130256604066*I, -5.651616184026723598808562005, -16.95484855208017079642568601*I, 0.07724927885416149244370894133]
gp>  elllseries(e,1)
time = 801 ms.
%8 = 1.111750179521723252102641626
gp>  e=ec(97)
time = 13 ms.
%9 = [0, 0, 0, -9409, 0, 0, -18818, 0, -88529281, 451632, 0, 53310208315456, 1728, [97.00000000000000000000000000, 0.E-28, -97.00000000000000000000000000]~, 0.2662296082510139961627376959, 0.2662296082510139961627376959*I, -5.900156399260726791393304969, -17.70046919778218037417991490*I, 0.07087820430948837966484634825]
gp>  elllseries(e,1)
time = 870 ms.
%10 = 1.064918433004055984650950783
gp>  e=ec(113)
time = 13 ms.
%11 = [0, 0, 0, -12769, 0, 0, -25538, 0, -163047361, 612912, 0, 133244912166976, 1728, [113.0000000000000000000000000, 0.E-28, -113.0000000000000000000000000]~, 0.2466624259425454252904015896, 0.2466624259425454252904015896*I, -6.368202699671732722702879552, -19.10460809901519816810863865*I, 0.06084235237186170643796544937]
gp>  elllseries(e,1)
time = 1,008 ms.
%12 = 3.946598815080726804646425433
gp>  e=ec(146)
time = 12 ms.
%13 = [0, 0, 0, -21316, 0, 0, -42632, 0, -454371856, 1023168, 0, 619864990879744, 1728, [146.0000000000000000000000000, 0.E-28, -146.0000000000000000000000000]~, 0.2170030272186481460594713154, 0.2170030272186481460594713154*I, -7.238591769561776429668381853, -21.71577530868532928900514555*I, 0.04709031382205734813349380670]
gp>  elllseries(e,1)
time = 923 ms.
%14 = 1.736024217749185168475770523
gp>  e=ec(178)
time = 13 ms.
%15 = [0, 0, 0, -31684, 0, 0, -63368, 0, -1003875856, 1520832, 0, 2035635367776256, 1728, [178.0000000000000000000000000, 0.E-28, -178.0000000000000000000000000]~, 0.1965315227312930230272805426, 0.1965315227312930230272805426*I, -7.992592256777870299848379672, -23.97777677033361089954513901*I, 0.03862463942708074622185447066]
gp>  elllseries(e,1)
time = 1,088 ms.
%16 = 1.572252181850344184218244341
gp>  e=ec(185)
time = 12 ms.
%17 = [0, 0, 0, -34225, 0, 0, -68450, 0, -1171350625, 1642800, 0, 2565726409000000, 1728, [185.0000000000000000000000000, 0.E-28, -185.0000000000000000000000000]~, 0.1927775053887094659320523171, 0.1927775053887094659320523170*I, -8.148234534042759424728811126, -24.44470360212827827418643337*I, 0.03716316658389390717562213934]
gp>  elllseries(e,1)
time = 1,661 ms.
gp>  e=ec(193)
time = 12 ms.
%19 = [0, 0, 0, -37249, 0, 0, -74498, 0, -1387488001, 1787952, 0, 3307682595151936, 1728, [193.0000000000000000000000000, 0.E-28, -193.0000000000000000000000000]~, 0.1887398326949068099494833861, 0.1887398326949068099494833861*I, -8.322548051285227922961245941, -24.96764415385568376888373782*I, 0.03562272444570141361393832010]
gp>  elllseries(e,1)
time = 1,783 ms.
%20 = 0.7549593307796272397979335445


[参考文献]


Last Update: 2016.10.15
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧に戻る]