Homeに戻る  一覧に戻る 

A Challenge Problem-2 of Fermat


[2004.10.30]Fermatの問題2:約数和が平方数となる立方数


■1657年1月に、Fermatが英国の数学者宛に出題した問題の1つについて、考察する。
参考文献[1](p62-64)によると、
     「立方数であって、その全ての約数和が平方数となるものを捜せ。」
という問題である。ただし、nの約数にはn自身も含めることとする。

pari/gpでプログラムを作成して、1021以下の立方数について、約数和が平方数となるものを探すと、1, 343=73, 424462145606577000=(2・3・5・13・41・47)3, 105882825301754941439=(17・31・47・191)3, 145590515943055911000=(2・3・5・7・13・41・47)3 の5個の解が見つかる。
σ(n)=Σ{d|n}{d}を整数nの約数和とする。

これらが条件を満たすことは、簡単に確認できる。
まず、1の約数和は1であるので、平方数である。
次に、343 = 73の約数和は、
     σ(73) = (1+7+72+73)=(1+7)・(1+72) = 8・50 = 400 = 202
であるので、平方数である。
同様に、424462145606577000 = (2・3・5・13・41・47)3の約数和は、
     σ((2・3・5・13・41・47)3) = σ(23)σ(33)σ(53)σ(133)σ(413)σ(473)
         = (3・5)(23・5)(22・3・13)(22・5・7・17)(22・3・7・292)(25・3・5・13・17)
         = 214・34・54・72・132・172・292 = (27・32・52・7・13・17・29)2
であるので、平方数である。
105882825301754941439 = (17・31・47・191)3の約数和は、
     σ((17・31・47・191)3) = 220・34・52・132・172・292・372 = (210・32・5・13・17・29・37)2
であるので、平方数である。
同様に、145590515943055911000=(2・3・5・7・13・41・47)3の約数和は、
     σ((2・3・5・7・13・41・47)3) = 218・34・56・132・172・292 = (29・32・53・13・17・29)2
であるので、平方数である。

[gp2cによる計算]
bash-2.05a$ gp2c-run -g chfermat2.gp
Reading GPRC: ./gp2c_gprc ...Done.

                  GP/PARI CALCULATOR Version 2.1.5 (released)
                       i386 running netbsd 32-bit version
                (readline v1.0 enabled, extended help available)

                       Copyright (C) 2002 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and
comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?12 for how to get moral (and possibly technical) support.

   realprecision = 28 significant digits
   seriesprecision = 16 significant terms
   format = g0.28

parisize = 128000000, primelimit = 500000
gp>  find(1,10^6)
[1, 1]
[343, 20]
[424462145606577000, 1292054400]
time = 8mn, 3,064 ms.
gp>  find(10^6+1,10^7)
[105882825301754941439, 10927088640]
[145590515943055911000, 25841088000]
time = 2h, 14mn, 29,482 ms.

■σ関数は乗法的(multiplicative)であるので、(a,b)=1である正整数a,bに対して、a3, b3がいずれもこの問題の解であるならば、その積(ab)3も解である。

よって、
     36317809078501944913577 = (7・17・31・47・191)3
もこの問題の解である。

■この問題の特殊な場合、立方数がある素数の3乗数である場合を考察する。
立方数がある素数xの3乗数x3であり、その約数1,x,x2,x3の和が平方数y2であるとする。
     y2 = x3+x2+x+1
より、楕円曲線
     E: y2 = x3+x2+x+1

の整点を求めれば十分である。

楕円曲線Eのねじれ点群E(Q)torsZ/2Zである。

[pari/gpによる計算]
gp>  e=ellinit([0,1,0,1,1])
time = 69 ms.
%141 = [0, 1, 0, 1, 1, 4, 2, 4, 3, -32, -640, -256, 128, [-1.000000000000000000000000000, 0.E-37 - 1.000000000000000000000000000*I, 0.E-37 + 1.000000000000000000000000000*I]~, 4.036461653911667430313646650, -2.018230826955833715156823325 + 1.373676869949108929536112381*I, -1.204533208274134546750732127 + 0.E-29*I, 0.6022666041370672733753660635 - 1.188226836301941896273622476*I, 5.544794010414982717700194225]
gp>  elltors(e,1)
time = 4 ms.
%142 = [2, [2], [[-1, 0]]]

mwrank3によって、EのMordell-Weil群E(Q)を求めると、そのrankは1で、生成元は(0,1)であることが分かる。

     E(Q) = Z/2Z×Z.

[mwrank3による計算]
bash-2.05a$ mwrank3
Program mwrank: uses 2-descent (via 2-isogeny if possible) to
determine the rank of an elliptic curve E over Q, and list a
set of points which generate E(Q) modulo 2E(Q).
and finally search for further points on the curve.
For more details see the file mwrank.doc.
For details of algorithms see the author's book.

Please acknowledge use of this program in published work, 
and send problems to John.Cremona@nottingham.ac.uk.

Version compiled on Feb 11 2003 at 17:40:15 by GCC 3.2.1
using base arithmetic option LiDIA_ALL (LiDIA bigints and multiprecision floating point)
Using LiDIA multiprecision floating point with 15 decimal places.
Enter curve: [0,1,0,1,1]

Curve [0,1,0,1,1] :
1 points of order 2:
[-1 : 0 : 1]

Using 2-isogenous curve [0,4,0,-4,0]
-------------------------------------------------------
First step, determining 1st descent Selmer groups
-------------------------------------------------------
After first local descent, rank bound = 1
rk(S^{phi}(E'))=        1
rk(S^{phi'}(E))=        2

-------------------------------------------------------
Second step, determining 2nd descent Selmer groups
-------------------------------------------------------
After second local descent, rank bound = 1
rk(phi'(S^{2}(E)))=     1
rk(phi(S^{2}(E')))=     2
rk(S^{2}(E))=   2
rk(S^{2}(E'))=  2

Third step, determining E(Q)/phi(E'(Q)) and E'(Q)/phi'(E(Q))
-------------------------------------------------------
1. E(Q)/phi(E'(Q))
-------------------------------------------------------
(c,d)  =(-2,2)
(c',d')=(4,-4)
This component of the rank is 0
-------------------------------------------------------
2. E'(Q)/phi'(E(Q))
-------------------------------------------------------
First stage (no second descent yet)...
(2,0,4,0,-2):  (x:y:z) = (1:2:1)
        Curve E'        Point [2 : 4 : 1], height = 0.216165582286759
        Curve E         Point [1 : 1 : 1], height = 0.432331164573518
After first global descent, this component of the rank = 2

-------------------------------------------------------
Summary of results:
-------------------------------------------------------
        rank(E) = 1
        #E(Q)/2E(Q) = 4

Information on III(E/Q):
        #III(E/Q)[phi']    = 1
        #III(E/Q)[2]       = 1

Information on III(E'/Q):
        #phi'(III(E/Q)[2]) = 1
        #III(E'/Q)[phi]    = 1
        #III(E'/Q)[2]      = 1

-------------------------------------------------------

List of points on E = [0,1,0,1,1]:

I.  Points on E mod phi(E')
--none (modulo torsion).


II. Points on phi(E') mod 2E
Point [0 : 1 : 1], height = 0.432331164573518
-------------------------------------------------------
Computing full set of 2 coset representatives for
2E(Q) in E(Q) (modulo torsion), and sorting into height order....done.

Rank = 1
After descent, rank of points found is 1

Generator 1 is [0 : 1 : 1]; height 0.432331164573518

The rank has been determined unconditionally.
The basis given is for a subgroup of full rank of the Mordell-Weil group
 (modulo torsion), possibly of index greater than 1.
Regulator (of this subgroup) = 0.432331164573518

 (8.7 seconds)
Enter curve: [0,0,0,0,0]


楕円曲線Eの有理点をいくつか求めると、以下のようになる。

[pari/gpによる計算]
gp>  for(i=0,5,p=ellpow(e,[0,1],i);print(p);print(elladd(e,p,[-1,0]));i(i>0,p=ellpow(e,[0,1],-i);print(p);print(elladd(e,p,[-1,0]))))
[0]
[-1, 0]
[0, 1]
[1, -2]
[0, -1]
[1, 2]
[-3/4, -5/8]
[7, 20]
[-3/4, 5/8]
[7, -20]
[40/9, -287/27]
[-31/49, 246/343]
[40/9, 287/27]
[-31/49, -246/343]
[561/400, 21359/8000]
[-161/961, -27560/29791]
[561/400, -21359/8000]
[-161/961, 27560/29791]
[-34440/34969, 1128863/6539203]
[69409/529, -18356294/12167]
[-34440/34969, -1128863/6539203]
[69409/529, 18356294/12167]
time = 23 ms.
simcalc(SIMATH)で計算すると、楕円曲線Eの整点は、
     (-1,0), (0,±1), (1,±2), (7,±20)
であることが分かる。
この中で、yが素数かつ正整数となるものは、7のみである。
よって、立方数が素数の3乗数であり、その約数和が平方数であるものは、343=73に限る。


[simcalc(SIMATH)による計算]
> E=EC(0,1,0,1,1)
                          E = EC(0, 1, 0, 1, 1)
> basismwg(E)
               basis :  PT(0, 1, 1)
         @ = 1
> faintp(E)
             all nontrivial integral points modulo negation :
  PT(-1, 0, 1) = PT(-1, 0, 1) + 0*PT(0, 1, 1)
  PT(0, 1, 1) = PT(0, 1, 0) + PT(0, 1, 1)
  PT(1, 2, 1) = PT(-1, 0, 1) - PT(0, 1, 1)
  PT(7, 20, 1) = PT(-1, 0, 1) + 2*PT(0, 1, 1)

         @ = PT(-1, 0, 1)
> quit


                                    B Y E

■立方数が4個の異なる素数の積の3乗数である場合を調べてみると、新たに、2つの解
     137766670222293199114816697 = (41・83・4373・5807)3,
     2426163407057001004628134843 = (17・31・463・5507)3
が見つかった。

[pari/gp(gp2c)による計算]
gp>  find4(2,10000)
[4730879, [17, 31, 47, 191], 10927088640]
[1343713507, [17, 31, 463, 5507], 51671470406400]
[516473513, [41, 83, 4373, 5807], 25880395524984000]
^C  ***   user interrupt after 3h, 35mn, 52,880 ms.
gp2cによる計算結果の3個目の解の第一成分(516473513)は、正しくは86415819433(=41・83・4373・5807)である。


さらに、
     47253967886246567296382127071 = (7・41・83・4373・5807)3,
     832174048620551344587450251149 = (7・17・31・463・5507)3,
     1565668469545980470134370709039794704374485387148222912544291 = (17・31・41・83・463・4373・5507・5807)3
も解である。

[2004.11.03追記]
gp2cにより、もう1つの解22889024957=47・191・463・5507が見つかった。
[pari/gpによる検算]
gp>  47*191*463*5507
time = 0 ms.
%41 = 22889024957
gp>  sigma((47*191*463*5507)^3)
time = 2 ms.
%42 = 12345806508708593816888279040000
gp>  sqrt(12345806508708593816888279040000)
time = 1 ms.
%43 = 3513659987635200.000000000000
gp>  %42-3513659987635200^2
time = 0 ms.
%44 = 0

■立方数が5個の異なる素数の積の3乗数である場合を調べてみると、新たに2つの解
     11564842343575343754063231 = (3・11・31・443・499)3,
     28080397065972974331619064872 = (2・47・193・239・701)3
が見つかった。

[pari/gp(gp2c)による計算]
gp>  find5(2,1000)
[-1255474758, [2, 47, 193, 239, 701], 233195801904000]
[226141311, [3, 11, 31, 443, 499], 4422275520000]
[33116153, [7, 17, 31, 47, 191], 218541772800]
time = 1h, 12mn, 52,082 ms.

gp2cによる計算結果の1個目の解の第一成分(-1255474758)は、正しくは3039492538(=2・47・193・239・701)である。

さらに、
     3966740923846342907643688233 = (3・7・11・31・443・499)3,
     9631576193628730195745339251096 = (2・7・47・193・239・701)3,
     324745365012973099107483313479147365917388614578921432 = (2・3・11・31・47・193・239・443・499・701)3
も解である。

■参考文献[1]によると、立方数が素数の3乗数でない場合に、この問題には無数に解があることが知られていると記述されている。


[参考文献]



Last Update: 2012.11.07
H.Nakao

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