2007年度ゼミで2名の学生とさっそく講読中
(中村・石川ゼミ):

N. コブリッツ著、上田勝・浜畑芳紀訳
「楕円曲線と保型形式」
シュプリンガージャパン (2006.12.22刊行)

原著:N.Koblitz "Introduction to Ellipitc Curves and Modular Forms"
Springer-Verlag 1984, 1993

*** *** *** *** ***

関連して直角三角形の3辺が有理数で面積が2007となるものを 計算してみました。
そのような直角三角形は理論的には無限個存在することが 知られていますが、実際の3辺の長さを一組でも求める計算は パソコンを使わないと大変です。
a:=約49.63..=162421273190844122112/3272522537901320465;
b:=約80.88..=729772525951994463695/9023404066158006784;
c:=約94.89..= 2802043412149013805015859817783541642817/29529293175092494952431316446028034560;


このとき a^2+b^2=c^2, a*b/2=2007

このような三角形は楕円曲線の有理点と対応していて、 上の三角形に対応する楕円曲線上の点は
x座標= 11360137925686011363328/1598313875117983321;
y座標= 1161533508142130802440489957788160/2020659348478757126569835869;
になっています。

参考:面積 2006 の場合は H.Nakao さんのページ , W.Stein さんのページ


後記 (2008年2月3日):

ゼミでは, 1年間かけてコブリッツのテキスト の第三章まで (一応ではあるが) 講読した.
(後半は苦しかったようですが, I 君とS 君 ご苦労様でした. 大学院に進んでも, この調子で頑張ってください)
年も改まったので, 少し先までの計算についてまとめておきます.
n が ≡5,6,7 mod 8 のときは, 楕円曲線 E_n: y^2=x^3-n^2x は
L関数のε因子が -1 なので 関数等式から L(E_n,1)=0 が分かり, 
BSD予想からは楕円曲線 E_n は有理点を無数に持つことが予想され, 
対応して面積 n の有理直角三角形も存在すると予想される. 
n=2006,2007 がこの場合であった.

n=2008 では, n/4=502≡6 (mod 8) なので, 同じことが期待される.
実際, SAGE ソフトで計算してみると,

y^2  = x^3 - 2008^2 x = x^3 - 4032064 x 上の点として
(-2511964801969928/1514383743609,
85893186682575114034240/1863605178036466227)
が得られ, 直角三角形の3辺として
> a:=605908363548680/21806187942363;

                           605908363548680
                      a := --------------- = 約 27.78607454
                           21806187942363 

> b:=10946706347066226/75738545443585;

                          10946706347066226
                     b := ----------------- = 約 144.5328304
                           75738545443585  

> c:=243077092075274283595010477962/1651568956424015360248091355;

                   243077092075274283595010477962
              c := ------------------------------ = 約 147.1794993
                    1651568956424015360248091355 

が得られた. 検算:
> a^2+b^2-c^2 = 0 ;
> a*b/2 = 2008 ;

n≡1,2,3 mod 8 の場合 (たとえば n=2009, 2010, 2011 )だと, 
ε因子=1 なので, 関数等式の符号から L(E_n,1)=0 かどうかは
決められない. 
第2章の末尾になるように L(E_n,1) を近似計算して否定的評価を出すか, 
第4章のように3元2次形式の解の個数を数えるという高度なアイデア
[cf. J.Tunnell, Invent. Math. 72 (1983), 323--334] を用いた
アプローチをする必要がある.そうだけれども, ともかく SAGE ソフトで
計算させてみると, y^2=x^3-2009^2 x のモーデルヴェイユ群は
自由階数2を持ち, modulo torsion で2点 
(-3136/2, 2807112/125), (50225/16, -8648745/64)
で生成されるとでる. 前者から以下のように直角三角形 (a,b,c), 
後者から (A,B,C) が得られる.
楕円曲線 y^2=x^3-2010^2 x や y^2=x^3-2011^2 x は
モーデルヴェイユ群の自由階数0であるため, 面積が 2010 や 2011 の
3辺が有理数であるような直角三角形は作れない.

====================================
点 (-3136/25 : 2807112/125) on E_2009 からは
> a:=22960/1023;
                                22960
                           a := ----- = 約 22.44379277
                                1023 
> b:=7161/40;
                                7161
                           b := ---- = 約 179.0250000
                                 40 
> c:=7383047/40920;
                               7383047
                          c := ------- = 約 180.4263685
                                40920 
> a^2+b^2-c^2;
                               0
> a*b/2;
                              2009

============================
点 (50225/16 : -8648745/64) on E_2009 からは

> A:=861/20;
                                 861
                            A := --- = 約 43.05000000
                                 20 
> B:=280/3;
                                 280
                            B := --- = 約 93.33333333
                                  3 
> C:=6167/60;
                                6167
                           C := ---- = 約 102.7833333
                                 60 
> A^2+B^2-C^2;
                               0
> A*B/2;
                              2009

=========================================================
後記(続)(面積2012の場合)
[Rational right triangles with area 2012]
2012/4=503は法8で7と合同なので、E_2012 上には有理点が見つかるはずだが
計算範囲を option を指定して広げないといけない:
(Special thanks to : Kazuo Matsuno, Iwao Kimura)
LINK: 
Calculated by Iwao Kimura by SAGE (December 2010 at Kyoto conference)


> a:=78366906299544891487468759852203246736490979835/7842891235242432171391119745421505829682831394;
> 

              78366906299544891487468759852203246736490979835
         a := -----------------------------------------------
              7842891235242432171391119745421505829682831394

> b:=62743129881939457371128957963372046637462651152/155799018488160818066538289964618780788252445;
> 
> c:=492238988669800304416700185089132231594105335620020162787295071274798563955460480753337934737/1221914756560170125637172838524413935284120398357943486069854035440064998055224740843258330;

              62743129881939457371128957963372046637462651152
         b := -----------------------------------------------
               155799018488160818066538289964618780788252445


  c := 49223898866980030441670018508913223159410533562002016278729\

                                             /
        5071274798563955460480753337934737  /  1221914756560170125\
                                           /
        6371728385244139352841203983579434860698540354400649980552\
        24740843258330

> a^2+b^2-c^2 ;

                                  0

> a*b/2 ;

                                 2012

> x:=31953717079782403877426365136043401188458986438592/15492409457317760025384676078081128557650708009;

            31953717079782403877426365136043401188458986438592
       x := --------------------------------------------------
             15492409457317760025384676078081128557650708009

> y:=39740870795202171331157247562019395524949267412337171460766430406997360160/1928317088832685492020566294646267423214258259206809092654393913813973;

  y := 39740870795202171331157247562019395524949267412337171460766\

                          /
        430406997360160  /  19283170888326854920205662946462674232\
                        /
        14258259206809092654393913813973

> y^2-x^3+2012^2*x;

                                  0

> evalf(a);

                             9.992093980

> evalf(b);

                             402.7183900

> evalf(c);

                             402.8423309

> evalf(x);

                             2062.540186

> evalf(y);

                             20609.09537

> T1:=[78366906299544891487468759852203246736490979835/7842891235242432171391119745421505829682831394, 62743129881939457371128957963372046637462651152/155799018488160818066538289964618780788252445, 492238988669800304416700185089132231594105335620020162787295071274798563955460480753337934737/1221914756560170125637172838524413935284120398357943486069854035440064998055224740843258330];

         78366906299544891487468759852203246736490979835
  T1 := [-----------------------------------------------,
         7842891235242432171391119745421505829682831394

        62743129881939457371128957963372046637462651152
        -----------------------------------------------, 4922389886\
         155799018488160818066538289964618780788252445
        6980030441670018508913223159410533562002016278729507127479\

                                    /
        8563955460480753337934737  /  1221914756560170125637172838\
                                  /
        5244139352841203983579434860698540354400649980552247408432\

        58330]

> a:=T1[1];

              78366906299544891487468759852203246736490979835
         a := -----------------------------------------------
              7842891235242432171391119745421505829682831394

> b:=T1[2];

              62743129881939457371128957963372046637462651152
         b := -----------------------------------------------
               155799018488160818066538289964618780788252445

> c:=T1[3];

  c := 49223898866980030441670018508913223159410533562002016278729\

                                             /
        5071274798563955460480753337934737  /  1221914756560170125\
                                           /
        6371728385244139352841203983579434860698540354400649980552\
        24740843258330

> a^2+b^2-c^2;

                                  0

> a*b/2;

                                 2012

> T2:=[4840663428111541439557882176471167774390267337146974251413303672758722700232259991678918375899287475428100302041954387227403457661198493573714907485919518939953968351639601959067510922080/242001078816987257985890400222118428676314204471440726411122020350940032345232839028847731451264940658580771429901800687952827298444565956393383677848680581016437097065101022970412797919, 242001078816987257985890400222118428676314204471440726411122020350940032345232839028847731451264940658580771429901800687952827298444565956393383677848680581016437097065101022970412797919/1202948168019766759333469725763212667592014745811872328880045644323738245584557652007683493016721539619309220189352481915358712142444953671400324921948190591439852970089364303943218420, 58853303782719417231932822103748999301633495494114779743654993683750300128305815173459774015481520648623110499269733200566055835080353753299575512689695294998513741360242643273677406114445793868219116100470021092185244642844572717794295629481581606236676500340043083026538023028833085477864751721567795375784444789426639499792820011454652555091094194354045711634802410561/291114754421702006356885652418164432969932181587076246751652195853281895571738034252903636173192020736311963329759288376125578769565928352436944165619914711894891523755502698333454420461177003433924526314984091967980072528846358129769092183156069370443897301118052049368078124890667718436209003387709186529173351274658010386986323508926362685151122764847751457938467980]
>  ;

  T2 := [484066342811154143955788217647116777439026733714697425141\
        3303672758722700232259991678918375899287475428100302041954\
        3872274034576611984935737149074859195189399539683516396019\

                         /
        59067510922080  /  242001078816987257985890400222118428676\
                       /
        3142044714407264111220203509400323452328390288477314512649\
        4065858077142990180068795282729844456595639338367784868058\

        1016437097065101022970412797919, 24200107881698725798589040\
        0222118428676314204471440726411122020350940032345232839028\
        8477314512649406585807714299018006879528272984445659563933\

                                                       /
        83677848680581016437097065101022970412797919  /  120294816\
                                                     /
        8019766759333469725763212667592014745811872328880045644323\
        7382455845576520076834930167215396193092201893524819153587\
        1214244495367140032492194819059143985297008936430394321842\

        0, 58853303782719417231932822103748999301633495494114779743\
        6549936837503001283058151734597740154815206486231104992697\
        3320056605583508035375329957551268969529499851374136024264\
        3273677406114445793868219116100470021092185244642844572717\
        7942956294815816062366765003400430830265380230288330854778\
        6475172156779537578444478942663949979282001145465255509109\

                                    /
        4194354045711634802410561  /  2911147544217020063568856524\
                                  /
        1816443296993218158707624675165219585328189557173803425290\
        3636173192020736311963329759288376125578769565928352436944\
        1656199147118948915237555026983334544204611770034339245263\
        1498409196798007252884635812976909218315606937044389730111\
        8052049368078124890667718436209003387709186529173351274658\

        010386986323508926362685151122764847751457938467980]

> a:=T2[1];

  a := 48406634281115414395578821764711677743902673371469742514133\
        0367275872270023225999167891837589928747542810030204195438\
        7227403457661198493573714907485919518939953968351639601959\

                       /
        067510922080  /  24200107881698725798589040022211842867631\
                     /
        4204471440726411122020350940032345232839028847731451264940\
        6585807714299018006879528272984445659563933836778486805810\
        16437097065101022970412797919

> b:=T2[2];

  b := 24200107881698725798589040022211842867631420447144072641112\
        2020350940032345232839028847731451264940658580771429901800\
        6879528272984445659563933836778486805810164370970651010229\

                      /
        70412797919  /  120294816801976675933346972576321266759201\
                    /
        4745811872328880045644323738245584557652007683493016721539\
        6193092201893524819153587121424449536714003249219481905914\
        39852970089364303943218420

> c:=T2[3];

  c := 58853303782719417231932822103748999301633495494114779743654\
        9936837503001283058151734597740154815206486231104992697332\
        0056605583508035375329957551268969529499851374136024264327\
        3677406114445793868219116100470021092185244642844572717794\
        2956294815816062366765003400430830265380230288330854778647\
        5172156779537578444478942663949979282001145465255509109419\

                                 /
        4354045711634802410561  /  2911147544217020063568856524181\
                               /
        6443296993218158707624675165219585328189557173803425290363\
        6173192020736311963329759288376125578769565928352436944165\
        6199147118948915237555026983334544204611770034339245263149\
        8409196798007252884635812976909218315606937044389730111805\
        2049368078124890667718436209003387709186529173351274658010\
        386986323508926362685151122764847751457938467980

> a*b/2;

                                 2012

> a^2+b^2-c^2;

                                  0

> evalf(a);

                             20.00265227

> evalf(b);

                             201.1733217

> evalf(c);

                             202.1653073

> T3:=
> [13802500677999889609953678875036716239486415901049052505924829435692612685586386906532654158529670069241840220002062490872850118998489406528170161681567213617636262708776801541655166605373165315900679270705381464007269490559581632083592994545562037817111279755676409997124695980114388931676153567974513944716679368936712201606999769117626920555996175438573912096755593269845749669193451841142990444946380736761424724805/458182038832273107018087888445024318123234587933250521565848305863559129597538055176922976953234340881403322226631951274170766816981398339264868632956047863547102768323291645223583437884324602527585298638995308891926969526971704155802212137797293557387001045887080381607124733976296756174245088531552360811786348195507119110978841986304301089138268701769445206649508588069395038073472397922220734525162919483091947034, 3665456310658184856144703107560194544985876703466004172526786446908473036780304441415383815625874727051226577813055610193366134535851186714118949063648382908376822146586333161788667503074596820220682389111962471135415756215773633246417697102378348459096008367096643052856997871810374049393960708252418886494290785564056952887830735890434408713106149614155561653196068704555160304587779183377765876201303355864735576272/27440359200795009164917850646196254949277168789361933411381370647500224027010709555730922780377077672448986520878851870522564848903557468246859168353016329259714239977687478214026176153823390290060992585895390584507494017017060898774538756551813196455489621780668807151341343896847691713073863952235614204208110077408970579735586022102638013033789613197960063810647302723351390992432309823345905457149862299724502435, 1721623624311240819012279745875588146530176522031505224229103617787299075757897159174323475224990885821752971241083439422087995307498642262592802087924870032438821073823446868395180712628335349807660603791206696902441600990337843916752074739921567860798330547240787068209420789804404398235929451652577897718881089280719569546146647503775700637272237759996261835012388694085051342651336713778802180414265129553160687237513416672481828977326349101114828711342638340602287661050593157442902589406694749391420448344067989924444959073667801047360816625999839365681928143475148736595255697939171475325861600782719061503271033040597417852763062628784750281043601920751122607914098140939257094564633941991999926132137707938184261291822283650529939056032884707228436613932915299307360269696981446180130798917976800077723168487403830411236623377/12572679724910181529148776215548848776823547643139674100120045326026206570425435203891073878951678866889320799664853705126498074039484009600550077353642073893871949180740563932919871727484558080275557976451155461621098934068705251417325177633957377389677334146843700531303023653176797500309759704369750195720541222939946946706562512680615507309360882534597898240088739234932808717981546339877892511925014535307754132003557206636637990590435527966963743747701600638415490326110501867201261357341819972644692360654905571300202588299525658047112985635174244169929037661692613286490331816180277517906767550034927426700847683944799079665668975139189936405933059905919739289529339587563221917810233723904606600164465806914656465573396379945527986251068367338630166017305102240029414997506323003004890167594489928072719286110528121024027790];

  T3 := [138025006779998896099536788750367162394864159010490525059\
        2482943569261268558638690653265415852967006924184022000206\
        2490872850118998489406528170161681567213617636262708776801\
        5416551666053731653159006792707053814640072694905595816320\
        8359299454556203781711127975567640999712469598011438893167\
        6153567974513944716679368936712201606999769117626920555996\
        1754385739120967555932698457496691934518411429904449463807\

                         /
        36761424724805  /  458182038832273107018087888445024318123\
                       /
        2345879332505215658483058635591295975380551769229769532343\
        4088140332222663195127417076681698139833926486863295604786\
        3547102768323291645223583437884324602527585298638995308891\
        9269695269717041558022121377972935573870010458870803816071\
        2473397629675617424508853155236081178634819550711911097884\
        1986304301089138268701769445206649508588069395038073472397\

        922220734525162919483091947034, 366545631065818485614470310\
        7560194544985876703466004172526786446908473036780304441415\
        3838156258747270512265778130556101933661345358511867141189\
        4906364838290837682214658633316178866750307459682022068238\
        9111962471135415756215773633246417697102378348459096008367\
        0966430528569978718103740493939607082524188864942907855640\
        5695288783073589043440871310614961415556165319606870455516\

                                                      /
        0304587779183377765876201303355864735576272  /  2744035920\
                                                    /
        0795009164917850646196254949277168789361933411381370647500\
        2240270107095557309227803770776724489865208788518705225648\
        4890355746824685916835301632925971423997768747821402617615\
        3823390290060992585895390584507494017017060898774538756551\
        8131964554896217806688071513413438968476917130738639522356\
        1420420811007740897057973558602210263801303378961319796006\

        3810647302723351390992432309823345905457149862299724502435,
        1721623624311240819012279745875588146530176522031505224229\
        1036177872990757578971591743234752249908858217529712410834\
        3942208799530749864226259280208792487003243882107382344686\
        8395180712628335349807660603791206696902441600990337843916\
        7520747399215678607983305472407870682094207898044043982359\
        2945165257789771888108928071956954614664750377570063727223\
        7759996261835012388694085051342651336713778802180414265129\
        5531606872375134166724818289773263491011148287113426383406\
        0228766105059315744290258940669474939142044834406798992444\
        4959073667801047360816625999839365681928143475148736595255\
        6979391714753258616007827190615032710330405974178527630626\
        2878475028104360192075112260791409814093925709456463394199\
        1999926132137707938184261291822283650529939056032884707228\
        4366139329152993073602696969814461801307989179768000777231\

                                  /
        68487403830411236623377  /  125726797249101815291487762155\
                                /
        4884877682354764313967410012004532602620657042543520389107\
        3878951678866889320799664853705126498074039484009600550077\
        3536420738938719491807405639329198717274845580802755579764\
        5115546162109893406870525141732517763395737738967733414684\
        3700531303023653176797500309759704369750195720541222939946\
        9467065625126806155073093608825345978982400887392349328087\
        1798154633987789251192501453530775413200355720663663799059\
        0435527966963743747701600638415490326110501867201261357341\
        8199726446923606549055713002025882995256580471129856351742\
        4416992903766169261328649033181618027751790676755003492742\
        6700847683944799079665668975139189936405933059905919739289\
        5293395875632219178102337239046066001644658069146564655733\
        9637994552798625106836733863016601730510224002941499750632\

        3003004890167594489928072719286110528121024027790]

> a:=T3[1]; b:=T3[2]; c:=T3[3];

  a := 13802500677999889609953678875036716239486415901049052505924\
        8294356926126855863869065326541585296700692418402200020624\
        9087285011899848940652817016168156721361763626270877680154\
        1655166605373165315900679270705381464007269490559581632083\
        5929945455620378171112797556764099971246959801143889316761\
        5356797451394471667936893671220160699976911762692055599617\
        5438573912096755593269845749669193451841142990444946380736\

                       /
        761424724805  /  45818203883227310701808788844502431812323\
                     /
        4587933250521565848305863559129597538055176922976953234340\
        8814033222266319512741707668169813983392648686329560478635\
        4710276832329164522358343788432460252758529863899530889192\
        6969526971704155802212137797293557387001045887080381607124\
        7339762967561742450885315523608117863481955071191109788419\
        8630430108913826870176944520664950858806939503807347239792\
        2220734525162919483091947034


  b := 36654563106581848561447031075601945449858767034660041725267\
        8644690847303678030444141538381562587472705122657781305561\
        0193366134535851186714118949063648382908376822146586333161\
        7886675030745968202206823891119624711354157562157736332464\
        1769710237834845909600836709664305285699787181037404939396\
        0708252418886494290785564056952887830735890434408713106149\
        6141555616531960687045551603045877791833777658762013033558\

                      /
        64735576272  /  274403592007950091649178506461962549492771\
                    /
        6878936193341138137064750022402701070955573092278037707767\
        2448986520878851870522564848903557468246859168353016329259\
        7142399776874782140261761538233902900609925858953905845074\
        9401701706089877453875655181319645548962178066880715134134\
        3896847691713073863952235614204208110077408970579735586022\
        1026380130337896131979600638106473027233513909924323098233\
        45905457149862299724502435


  c := 17216236243112408190122797458755881465301765220315052242291\
        0361778729907575789715917432347522499088582175297124108343\
        9422087995307498642262592802087924870032438821073823446868\
        3951807126283353498076606037912066969024416009903378439167\
        5207473992156786079833054724078706820942078980440439823592\
        9451652577897718881089280719569546146647503775700637272237\
        7599962618350123886940850513426513367137788021804142651295\
        5316068723751341667248182897732634910111482871134263834060\
        2287661050593157442902589406694749391420448344067989924444\
        9590736678010473608166259998393656819281434751487365952556\
        9793917147532586160078271906150327103304059741785276306262\
        8784750281043601920751122607914098140939257094564633941991\
        9999261321377079381842612918222836505299390560328847072284\
        3661393291529930736026969698144618013079891797680007772316\

                                 /
        8487403830411236623377  /  1257267972491018152914877621554\
                               /
        8848776823547643139674100120045326026206570425435203891073\
        8789516788668893207996648537051264980740394840096005500773\
        5364207389387194918074056393291987172748455808027555797645\
        1155461621098934068705251417325177633957377389677334146843\
        7005313030236531767975003097597043697501957205412229399469\
        4670656251268061550730936088253459789824008873923493280871\
        7981546339877892511925014535307754132003557206636637990590\
        4355279669637437477016006384154903261105018672012613573418\
        1997264469236065490557130020258829952565804711298563517424\
        4169929037661692613286490331816180277517906767550034927426\
        7008476839447990796656689751391899364059330599059197392895\
        2933958756322191781023372390460660016446580691465646557339\
        6379945527986251068367338630166017305102240029414997506323\
        003004890167594489928072719286110528121024027790

> a*b/2;

                                 2012

> a^2+b^2-c^2;

                                  0

> evalf(a);

                             30.12449094

> evalf(b);

                             133.5790207

> evalf(c);

                             136.9337056

> 

=======================================================================
2021 is a congruent number: A^2+B^2=C^2, 2021=A*B/2
=======================================================================
>E2021=EllipticCurve([0,0,0,-(2021)^2,0]);E2021
Elliptic Curve defined by y^2 = x^3 - 4084441*x over Rational Field

>E2021.rank()
1

>E2021.gens()
[(592813867/210681 : 10042807193036/96702579 : 1)]

>x=592813867/210681; y=10042807193036/96702579;N=2021; x;y;N;
592813867/210681
10042807193036/96702579
2021

# cf.p324 of [J.B.Tunnel: Invent. Math. 72 (1983), 323--334]
>A=abs((N^2-x^2)/y);B=abs(2*N*x/y);C=abs((N^2+x^2)/y);A;B;C;
1338332/36261
1704267/15562
65213606345/564293682

>A^2+B^2-C^2; A*B/2
0
2021

>evalf(1338332/36261); evalf(1704267/15562); evalf(65213606345/564293682);
                          36.90830369
                          109.5146511
                          115.5667845

==============================================

整数論研究室に戻る