找回密码
 欢迎注册
楼主: nyy

[提问] 正七边形,求三个整数的和

[复制链接]
 楼主| 发表于 2025-7-30 22:41:08 | 显示全部楼层
fibonacci(10^14)  % 1234567891011是多少?
https://bbs.emath.ac.cn/forum.php?mod=viewthread&tid=4054
(出处: 数学研发论坛)

这个题目也是数域上的问题!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2025-8-14 10:17:13 | 显示全部楼层
mathe 发表于 2025-7-27 21:00
记\(x=\cos(\frac{\pi}7)\), 于是\(T_7(x)=-1\),得到\(M(x)=8x^3 - 4x^2 - 4x + 1=0\)
由于\(a=\sin(\frac{ ...

mathe的办法,转化成数域的办法

  1. Clear["Global`*"];(*mathematica11.2,win7(64bit)Clear all variables*)
  2. {a,b,c}=Sin[#*Pi/7]&/@{1,2,4} (*正弦定理得到三边,只要成比例就可以了*)
  3. {a1,b1,c1}={a,b,c}/a (*三边都除以a,相对值,成比例就可以了*)
  4. x=Cos[Pi/7](*以这个数为数域,以它为基,求出向量*)
  5. (*等式两边同时对相同的数x,取数域,用基来表达*)
  6. abc7=ToNumberField[(a1+b1+c1)^7,x]
  7. a7={1,{1,0,0}}(*很明显是{1,0,0}*)
  8. b7=ToNumberField[b1^7,x]
  9. c7=ToNumberField[c1^7,x]
  10. (*对基向量列方程组,然后解方程组*)
  11. aa=Solve[abc7[[2]]==k1*a7[[2]]+k2*b7[[2]]+k3*c7[[2]],{k1,k2,k3}]
复制代码


求解结果abc7
AlgebraicNumber[Root[1 - 2 #1 - #1^2 + #1^3 &, 3], {-11219, 16212, 20216}]

a7
{1,0,0}

b7
AlgebraicNumber[Root[1 - 2 #1 - #1^2 + #1^3 &, 3], {-9, 14, 14}]

c7
AlgebraicNumber[Root[1 - 2 #1 - #1^2 + #1^3 &, 3], {-39, 56, 70}]

方程组求解结果
{{k1 -> 61, k2 -> 14, k3 -> 286}}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2025-8-14 11:05:59 | 显示全部楼层
mathe 发表于 2025-7-27 21:00
记\(x=\cos(\frac{\pi}7)\), 于是\(T_7(x)=-1\),得到\(M(x)=8x^3 - 4x^2 - 4x + 1=0\)
由于\(a=\sin(\frac{ ...
  1. Clear["Global`*"];(*mathematica11.2,win7(64bit)Clear all variables*)
  2. rule={Sin[t]->Sqrt[1-x^2],Cos[t]->x}(*替换规则*)
  3. (*三边都弄成成x的变量,其实x=cos(180/7),不是变量,是一个符号*)
  4. a1=TrigExpand[Sin[1t]/(Sin[t])]/.rule
  5. b1=TrigExpand[Sin[2t]/(Sin[t])]/.rule
  6. c1=TrigExpand[Sin[4t]/(Sin[t])]/.rule
  7. x1=Cos[Pi/7]
  8. xx=1-4x-4x^2+8x^3 (*RootReduce[x1]很容易得到结果,这是关于cos(180/7)的最小多项式*)
  9. (*四个变量关于多项式求余数*)
  10. abc7=PolynomialMod[(a1+b1+c1)^7,xx]
  11. a7=PolynomialMod[a1^7,xx]
  12. b7=PolynomialMod[b1^7,xx]
  13. c7=PolynomialMod[c1^7,xx]
  14. (*获得多项式的系数向量*)
  15. f=CoefficientList[abc7-k1*a7-k2*b7-k3*c7,x]
  16. (*让每一个多项式的系数等于零,求解出方程组的解*)
  17. ans=Solve[f==0,{k1,k2,k3}]
复制代码


mathe的办法,给出一个mathematica的代码,方便别人验证过程与结果。
求解结果就不粘贴出来了,在软件里很容易得到结果!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2025-8-24 07:33 , Processed in 0.024440 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表