wayne
发表于 2025-7-15 18:50:06
这个是保证你的逻辑不变的情况下的代码
Block[{m,n,p,q,a,b,c,d,s,A,k,f,t,pp,g},
Table[{j,pp=108*j,t=Association[];Do;A=m n p q (m q+n p) (m p-n q)/.k;g=GCD@@s;
d=ToString@(pp/g)<>"->"<>ToString@(A/g^2);
If==False,t={s/g}];t=Union,{s/g}],{k,Solve[{2 m p (m q+n p)==pp,m p>n q},{m,n,p,q},PositiveIntegers]}];t},{j,10}]]
wayne
发表于 2025-7-15 19:09:31
我写了一个示例.
candidates=Association[];Block[{mm=20,s,p,A,g,k},Monitor];s=Sort[{m n(p^2+q^2),p q(m^2+n^2),(m q+n p) (m p-n q)}];{L,A}={2 m p (m q+n p),m n p q (m q+n p) (m p-n q)};g=GCD@@s;k={L/g,A/g^2};If==False,candidates={s/g},candidates=Union,{s/g}]],{m,mm},{n,m+1,mm},{p,mm},{q,mm}],{m,n,p,q}]];
Table, {k, Select, First[#] == 108 &]}]
周长108的有6组
{{108,270}->{{27,29,52}},{108,90}->{{4,51,53}},{108,126}->{{5,51,52}},{108,234}->{{15,41,52}},{108,306}->{{20,37,51}}}
将mm改成50,大概1分钟,得到一个4组和一个5组解的
{2926,87780}->{{133,1375,1418},{143,1358,1425},{323,1155,1448},{703,770,1453}},
{3542,318780}->{{421,1518,1603},{511,1375,1656},{583,1288,1671},{759,1096,1687},{851,1001,1690}}
wayne
发表于 2025-7-15 19:28:05
如果是我写代码,先生成互质的真分数
Block[{n = 100},
rationals =
ReverseSort[
Reap == 1, Sow], {i, n}, {j, i + 1, n}]][[2,
1]]]]; Length
然后从真分数里遍历一遍,打表.
candidates = Association[]; Block[{s, L, A, g, k, m, n, p, q},
Monitor]],
Denominator]], Numerator]],
Denominator]]}; If];
s = Sort[{m n (p^2 + q^2),
p q (m^2 + n^2), (m q + n p) (m p - n q)}]; {L,
A} = {2 m p (m q + n p), m n p q (m q + n p) (m p - n q)};
g = GCD @@ s; k = {L/g, A/g^2};
If == False, candidates = {s/g},
candidates = Union, {s/g}]], {u, 1,
Length}, {v, u + 1, Length}], {u, v}]];
然后提取想要的解, 比如,所有大于4组的解
Column > 3 &]]]
{36366,10182480}->{{1159,17574,17633},{1653,16775,17938},{2552,15783,18031},{4408,13871,18087}}
{5474,492660}->{{391,2521,2562},{442,2415,2617},{667,2142,2665},{712,2093,2669}}
{3542,318780}->{{421,1518,1603},{511,1375,1656},{583,1288,1671},{759,1096,1687},{851,1001,1690}}
{6118,1211364}->{{1007,2415,2696},{1035,2366,2717},{1387,1925,2806},{1610,1691,2817}}
{12090,3723720}->{{1469,5115,5506},{1488,5077,5525},{2041,4340,5709},{2821,3504,5765}}
{71162,93933840}->{{5980,31841,33341},{7293,29806,34063},{12701,23800,34661},{17017,19389,34756}}
{21658,12994800}->{{2989,8840,9829},{3332,8329,9997},{4704,6749,10205},{5304,6125,10229}}
{2926,87780}->{{133,1375,1418},{143,1358,1425},{323,1155,1448},{703,770,1453}}
{7238,1302840}->{{1034,2809,3395},{1351,2444,3443},{1363,2431,3444},{1645,2134,3459}}
{8294,622050}->{{397,3828,4069},{572,3625,4097},{1276,2897,4121},{1972,2197,4125}}
然后发现 统计一下,就知道 周长 294294和 周长 47250都有 67个面积.
{67,294294,{3697677984,3692464776,3527491968,3372819450,3654290640,3627173550,3606026424,100059960,3406537134,3284321040,2215108896,3307023720,985128144,3385768386,2966063100,3204525324,3407588184,533302770,3090423336,3336032700,3353690340,2530928400,3101690592,3306477174,2675973300,3243624384,3019876860,3062759700,3164627466,3003480480,3068981916,2825726904,2368099734,2677108434,1001608608,1144803660,2509823316,2773090320,2117235120,2049967920,1890923034,1022461440,1375740366,2476694220,2551108560,1085860776,1197356160,773783010,439002564,2122280160,81014934,1279338060,1665283620,1408911504,508876368,423362940,2080910832,950149200,1668857190,53141088,1583301720,763903140,1373932560,1192311120,1316965650,1061644584,1112010900}}
{67,47250,{91450800,88968600,83969550,11399850,93725100,53562600,63025200,89535600,26737200,92288700,25382700,88842600,72664200,18018000,86360400,50891400,81288900,59459400,83251350,80936100,43243200,75203100,30066750,67813200,35607600,55137600,40679100,76255200,48894300,32079600,71435700,11809350,37251900,65601900,72160200,73445400,9317700,69136200,68758200,65356200,40968900,64241100,60013800,59950800,43797600,29058750,29232000,39085200,34483050,21205800,46720800,12162150,44767800,44421300,18944100,36773100,16298100,37107000,34341300,30769200,30076200,28381500,24598350,10180800,19451250,26507250,8259300}}
{66,45738,{53153100,56498904,80205048,77000616,63358218,87650640,81751824,24622290,57948660,68191200,67020030,49349916,23832270,82702620,81635400,68385240,27969480,14888412,30935520,37337454,76230000,78225840,10131660,72141300,60015186,46256364,70418502,65477412,58468410,48130236,61441380,69889050,33402600,65031120,69008940,67844700,66472560,21150360,65934792,63513450,63707490,43740774,57789270,19381824,54065088,188496,45003420,48787200,39632670,40942440,27128178,19961172,50666616,39866904,3714480,42633360,42002730,18302130,12432420,40817700,11053350,21962556,21435876,23937606,16801092,14461524}}
{64,54054,{121657536,123747624,114360246,110270160,77909832,65945880,97657560,16576560,117837720,106126020,113657544,94666572,64360296,86954868,105585480,54918864,57999942,50162112,87387300,35639604,75999924,101801700,67963896,93657564,13405392,86486400,62702640,80990910,30630600,88504416,63783720,67747680,7963956,62990928,33333300,59765706,35747712,73819746,81171090,17765748,38198160,33207174,69405336,64936872,6846840,9801792,66846780,79801722,71135064,22342320,68324256,51351300,41441400,60324264,46486440,31351320,50198148,32972940,34954920,39279240,8504496,28828800,8972964,9495486}}
{63,113190,{59958360,404864460,528435600,191711520,207267060,500607030,529664520,415989420,219054990,526996470,416409840,449073240,443122680,415795380,437915940,78844920,296719500,399981120,441085260,266287560,9281580,469447440,423605490,442023120,436816380,420225960,426629280,280905240,430477740,223210680,410459280,406837200,409844820,395712240,101757810,377957580,390489330,357551040,78133440,361415670,334039860,286516230,307327020,3686760,326634000,243908280,207008340,166518660,122342220,22540980,233931390,203030520,186698820,135278220,61381320,179519340,35962080,151739280,74010090,56239260,84795480,45373020,24578400}}
{63,17010,{10629360,12099780,9253440,11438280,11476080,4885650,11597040,6380640,4594590,10761660,11060280,10249470,5333580,2014740,6977880,10667160,10145520,5804190,8648640,8867880,9011520,7612920,7295400,9729720,7454160,5352480,4709880,2506140,4876200,3160080,5601960,8550360,6637680,5155920,1088640,124740,1992060,7733880,4626720,1205820,6936300,5904360,5571720,4054050,5626530,5798520,4607820,3250800,5624640,5530140,83160,1621620,4505760,2016630,3727080,2948400,2789640,1580040,1678320,2027970,289170,810810,1394820}}
{62,57834,{57641220,87200820,6573798,45592470,124857180,112390740,125114220,129914442,126977760,133904988,128867004,127234800,122248224,129644550,94744944,129001950,122678766,98896140,84399084,120198330,79945866,43054200,119530026,97405308,54942300,110559330,72035460,78936984,78885576,98092890,16399152,92058876,99384516,103625676,91184940,95034114,64709820,59202738,69760656,91891800,86442552,72453150,58605120,58309524,94397940,3951990,80363556,3540726,39879756,56831544,30909060,27779598,50373414,2988090,32354910,32232816,27567540,20813814,18506880,13147596,7518420,1156680}}
{62,35322,{31458504,14542920,26420856,27787452,22803396,51917250,49576254,40938198,17975244,29563296,47804064,50766240,39190368,30242940,7281204,1400700,47126856,40273170,47755344,36954120,23614584,41678742,31889676,41533800,41972280,18537960,5892684,9987600,43068480,41667780,42059976,41040510,36007734,17685360,25992120,34591200,38762850,21802200,28450044,37083228,5161884,34600944,32569320,34643574,24152940,22692558,32637528,18513600,8737932,3111990,25407480,23781450,21568344,27104154,25383120,12216540,23902032,23897160,6143592,20766900,12044802,3885420}}
{60,57750,{140032200,6906900,106005900,134187900,127142400,93093000,102102000,109032000,43682100,135088800,115684800,111757800,56491050,96350100,96996900,29360100,102656400,58812600,114391200,14599200,56456400,115061100,45206700,114552900,106906800,104492850,62323800,112797300,65615550,80896200,109170600,81485250,98255850,100300200,99353100,99422400,91914900,40378800,82882800,92677200,63640500,59759700,81450600,45530100,71979600,21483000,11388300,48048000,20836200,75490800,14044800,44097900,33610500,12381600,2772000,20986350,13744500,17371200,17117100,15892800}}
{59,40362,{41244756,18405072,52100832,67599840,66766560,49392672,52639860,30750636,24933300,61001304,51018870,40362000,46728780,19345116,58826964,53458818,40026084,5077800,60022200,54241320,22941240,12277860,59319120,47990418,54853260,56084952,54651450,37653840,53154150,27211800,46348596,51827412,6330324,28844508,50788416,47939640,48838020,45938466,45347358,4266654,30505860,34789440,25277028,19731810,32628120,39729228,6985230,34930056,36191694,33383280,33799920,32576040,28697382,1360590,18691512,30011100,19373760,2421720,3309684}}
northwolves
发表于 2025-7-15 20:46:06
9组、10组的有结果了么?
northwolves
发表于 2025-7-15 20:50:09
本帖最后由 northwolves 于 2025-7-15 20:56 编辑
s = {12, 70, 210, 2002, 2842, 20026, 91698, 721786}; ListPlot@Log@s
若用这个曲线估测,则$a(9)\approx 4100010;a(10)\approx 25135540;a(11) \approx 154099102 ;a(12) \approx 944739312$
wayne
发表于 2025-7-16 07:50:18
.mathe 发表于 2025-7-14 15:56
上面表达式如果我们设
\(gcd(n,p)=u_{00}, gcd(m,q)=u_{11}, gcd(n,q)=u_{01}, gcd(m,p)=u_{10}\)
那么可以 ...
关于这个唯一麻烦的地方, 我们是不是可以先预生成一个$(p,q)=1,(m,n)=1$但是$gcd>1$的候选集。
以$(1/6,31/38)$为例, 三边的公约数是74, 其中$gcd[,(p^2 + q^2), (m^2 + n^2)]$贡献的是37,两个分母贡献了2
2,,,,[, ]
{GCD, GCD} /. Thread[{n, m, p, q} -> {1, 6, 31, 38}]
以
wayne
发表于 2025-7-16 08:27:29
还可以这样,不确定是否有bug,就是针对$\to$, 其中$K=(a+b-c)(a-b+c)(-a+b+c)$
如果我们设$ -> , i<j<k,gcd(i,j,k)=1$,那么,就可以得到
一个解是 $=$,面积是$S=i j k (j-i)(i j + k^2)$
另一个解是$=$,面积是$S=i jk (i + j) (k^2-i j)$
所以说,我们可以对半周长进行分解,分解成$\frac{L}{2}= j (i j + k^2),i<j<k$或者$\frac{L}{2}=(i + j) k^2, i<j<k,ij<k^2$,只需要限定$gcd(i,j,k)=1$
事实上,只需要考虑第一个解,因为第二个解被第一个解包含进去了。
。。。
也就是说,我们对半周长进行分解,分解成$\frac{L}{2}= j (i j + k^2),i<j<k$,面积是$S=i j k (j-i)(i j + k^2)$,三边是$$, 只需要限定$gcd(i,j,k)=1$
mathe
发表于 2025-7-16 10:38:28
我挑选了一部分输出的优秀解,试验了一下,发现对应三角形内切圆半径要么是整数,要么分母是素数,不知道是否总是成立。
mathe
发表于 2025-7-16 15:59:38
如果查看前面已经找到的优秀数据,可以发现内接圆半径是整数的比例非常高。
而对于内接圆半径是整数的情况,大部分场景半周长是三个或四个不同素数的乘积,而且内接圆半径和半周长互素。
wayne
发表于 2025-7-16 17:38:44
我不确定是否要捡起 之前的椭圆曲线的方法,因为之前的椭圆曲线的方法有一个很好的特征,就是 给定周长和面积, 唯一确定一条椭圆曲线, 对于该椭圆曲线, 其秩基本上跟解的个数 相当. 周长L,面积S对应的椭圆曲线是 $Y^2= -\frac{1}{48} L^4 X \left(L^4-24 S^2\right)+\frac{1}{864} L^4 \left(L^8-36 L^4 S^2+216 S^4\right)+X^3$
我刚才又测试了一下, 拿那个8组解的为例, $L=721786, S=13338605280$, 秩为7. 瞬间给出7个生成元.
E=ellinit([-12693394974858489906001/3,2855319653729016837546676404344498/27])
%11 = ), )], ]
ellrank(E,1)
%12 = , [-32496620351/3, 12260263348733400], , , , , ]]
如果能通过某种参数,直接给出多解的 周长和面积, 就好了
目前这种给定周长和面积的方式 导致搜索空间太大了.