- 注册时间
- 2009-2-12
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 27489
- 在线时间
- 小时
|
楼主 |
发表于 2025-7-26 22:31:44
|
显示全部楼层
关于最小解,受到mathe启发,有个不太一样的解法.
如果 $(a + b + c)^2 = k a b c$,有解,且$a!=b!=c$,那么关于a的二次方程的判别式$-4 b - 4 c + b c k$必须为0,不然判别式大于0就不是最小的解,树的上面还有更小的解.
对此,给定k,挨个枚举计算$-4 b - 4 c + k b c=0$, 这里的等式其实暗含了mathe的不等式
- Monitor[ans=Reap[Do[sol=Solve[-4 b-4 c+k b c ==0&&0<b<c,{b,c},Integers];If[Length[sol]>0,Sow[{k,{b,c,b c k/2-b-c}/.sol}]],{k,100}]],k]
复制代码
得到只有$k=1,2,3,5,6$
- {1,{{5,20,25},{6,12,18}}}
- {2,{{3,6,9}}}
- {3,{{2,4,6}}}
- {5,{{1,4,5}}}
- {6,{{1,2,3}}}
复制代码
如果$a,b,c$有两个相等,不妨设$a=b$,就有$4 b^2+4 b c+c^2-b^2 c k=0$,这里其实也暗含了mathe的不等式
同样给定k,挨个枚举解得
- Monitor[ans=Reap[Do[sol=Solve[4 b^2+4 b c+c^2-b^2 c k ==0&&0<b<=c,{b,c},Integers];If[Length[sol]>0,Sow[{k,{b,b,c}/.sol}]],{k,100}]],k]
复制代码
得到只有$k=1,2,3,4,8,9$
剔除等价的解.得到
- {1,{{8,8,16},{9,9,9}}}
- {2,{{4,4,8}}}
- {3,{{3,3,3}}}
- {4,{{2,2,4}}}
- {8,{{1,1,2}}}
- {9,{{1,1,1}}}
复制代码
于是合并一下,就跟mathe的完全一样了
- SortBy[Normal[Merge[{Association[Table[p[[1]]->p[[2]],{p,ans1[[2,1]]}]],Association[Table[p[[1]]->p[[2]],{p,ans2[[2,1]]}]]},Flatten[#,1]&]],First]//Column
复制代码
最终就是
- 1->{{5,20,25},{6,12,18},{8,8,16},{9,9,9}}
- 2->{{3,6,9},{4,4,8}}
- 3->{{2,4,6},{3,3,3}}
- 4->{{2,2,4}}
- 5->{{1,4,5}}
- 6->{{1,2,3}}
- 8->{{1,1,2}}
- 9->{{1,1,1}}
复制代码
|
|