- 注册时间
- 2007-12-27
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 40149
- 在线时间
- 小时
|
发表于 2018-11-4 14:32:10
|
显示全部楼层
esol(0,0)
得到
9*c^2 - 9*c + 1
a=0.12732200375003505059847105521145396076;b=0.12732200375003505059847105521145396076;c=0.12732200375003505059847105521145396076;x=0.33333333333333333333333333333333333333;y=0.33333333333333333333333333333333333334;z=0.33333333333333333333333333333333333333
9*c^2 - 9*c + 1
a=0.87267799624996494940152894478879859054;b=0.87267799624996494940152894478796257612;c=0.87267799624996494940152894478854603924;x=0.33333333333333333333333333333202867014;y=0.33333333333333333333333333333431385034;z=0.33333333333333333333333333333365747953, 这个解不够好
$1327104*c^22 - 14598144*c^21 + 78520320*c^20 - 277198848*c^19 + 718562304*c^18 - 1445202432*c^17 + 2327525376*c^16 - 3056990976*c^15 + 3306544768*c^14 - 2954054848*c^13 + 2169816440*c^12 - 1288672208*c^11 + 592924988*c^10 - 185582420*c^9 + 14218336*c^8 + 27499858*c^7 - 22520955*c^6 + 10772277*c^5 - 3524433*c^4 + 663759*c^3 - 19311*c^2 - 11715*c + 1300$
$a=0.61645575611595019564366164451969012446;b=0.99964861889131459720628119890601018649;c=0.99914013369073816425105409912190416390;x=0.87543900054754931571057569585193373024;y=0.0028868720701670442017409435891338646630;z=0.12167412738228364008768336055893240510$
\(\begin{pmatrix}x&a&0&c-1\\y&a-1&b&0\\z&0&b-1&c\end{pmatrix}\)
这组很好,对应$n -=1(mod 3)$, 棱长的平方$r^2=(n-1)/3+0.1464118822982497217046378348507596815$ 但是好像是增根?有条件检查好像通过不了,后面一个解也类似
11943936*c^30 - 214990848*c^29 + 1827090432*c^28 - 9753716736*c^27 + 36696038400*c^26 - 103401232128*c^25 + 226155106176*c^24 - 392322766464*c^23 + 547110063040*c^22 - 620405629664*c^21 + 584627278416*c^20 - 485442765424*c^19 + 400839008496*c^18 - 365668024160*c^17 + 346843699576*c^16 - 294398468288*c^15 + 201109515718*c^14 - 103025529162*c^13 + 35508759545*c^12 - 4751415874*c^11 - 3359452963*c^10 + 3163768959*c^9 - 1546309579*c^8 + 462530161*c^7 - 66873410*c^6 + 3478243*c^5 - 908424*c^4 - 214127*c^3 - 2115*c^2 - 2700*c - 200
a=0.71883970112472172592436784012526963004;b=0.27384239774228909248921926723362136821;c=0.68740721959507614742307169636665297282;x=0.028075493203415081208096501315243155710;y=0.67911134810728449916208563638479935889;z=0.29281315868930041962981786229995748540
增根
esol(0,-1)得到
1327104*c^24 - 15925248*c^23 + 91348992*c^22 - 335812608*c^21 + 889150464*c^20 - 1797152256*c^19 + 2860263936*c^18 - 3639095040*c^17 + 3706622592*c^16 - 2969565504*c^15 + 1755586808*c^14 - 577548952*c^13 - 195332444*c^12 + 488517392*c^11 - 449148924*c^10 + 281428234*c^9 - 126051203*c^8 + 33066423*c^7 + 4604354*c^6 - 11159397*c^5 + 6784002*c^4 - 2240179*c^3 + 367313*c^2 - 35036*c + 500
a=0.83075415866767342164081349566679015338;b=0.95646500394930519144717044967819810047;c=0.97650580758675700622895686025787971476;x=0.51496528479610405439835147108507665117;y=0.11146405329919368235620643373084308116;z=0.37357066190470226324544209518408026768
增根
esol(-1,-2)得到
1679616*c^28 - 20155392*c^27 + 109921536*c^26 - 357011712*c^25 + 746013888*c^24 - 952093440*c^23 + 386020224*c^22 + 1241707968*c^21 - 3242195168*c^20 + 4094308096*c^19 - 2678362336*c^18 - 536662928*c^17 + 3707328032*c^16 - 5104501336*c^15 + 4379168340*c^14 - 2497810860*c^13 + 717860116*c^12 + 277914444*c^11 - 507176717*c^10 + 333946194*c^9 - 106430119*c^8 - 11392092*c^7 + 26972507*c^6 - 9778522*c^5 + 103708*c^4 + 742752*c^3 - 100736*c^2 - 20824*c + 4600
a=0.022395238513895352908459101701502169208;b=0.16167701978121523069178099777660409280;c=0.91540024756583824365232716591630919668;x=0.11184581172946412415880434687636092276;y=0.19574887487748029835324145420547932654;z=0.69240531339305557748795419891815975070
对应$n -=1 (mod 3), n>=7$,对应边长平方为${n-1}/3+0.020168150421438454409348065456978559301$
esol(-1,-1);esol(0,-2);esol(0,-3)没有找到合法解
- reduce_by_z(f1,f2)={
- local(f3,f4,d1,d2,r,h);f3=f1;f4=f2;
- d1=poldegree(f3,z);d2=poldegree(f4,z);h=polcoeff(f4,d2,z);
- while(d1>d2,
- f3=f3-polcoeff(f3,d1,z)/h *z^(d1-d2)*f4;
- d1=poldegree(f3,z)
- );
- if(d1 == d2,
- f3 = f3-polcoeff(f3,d1,z)/h*f4;
- );
- f3
- }
- reduce_by_b(f1,f2)={
- local(f3,f4,d1,d2,r,h,df);f3=f1;f4=f2;
- d1=poldegree(f3,b);d2=poldegree(f4,b);h=polcoeff(f4,d2,b);
- while(d1>d2,
- df=polcoeff(f3,d1,b)/h;
- f3=denominator(df)*f3-numerator(df) *b^(d1-d2)*f4;
- d1=poldegree(f3,b)
- );
- if(d1 == d2,
- df=polcoeff(f3,d1,b)/h;
- f3 = denominator(df)*f3-numerator(df)*f4;
- );
- f3
- }
- esol(N1,N2)={
- local(f1,f2,f3,f4,f5,f6,r1,r2,r3,r4,r5, tmp,equ,rts);
- local(x0,y0,z0,a0,b0,c0);
- f1 = x+y+z-1;
- f2 = x*y-a*(1-a);
- f3 = y*z-b*(1-b);
- f4 = z*x-c*(1-c);
- f5 = x^2+a^2+(1-c)^2-y^2-(1-a)^2-b^2-N1;
- f6 = x^2+a^2+(1-c)^2-z^2-(1-b)^2-c^2-N2;
- if(poldegree(f5,a) !=1, print ("Error in r1"),
- r1 = - polcoeff(f5,0,a)/polcoeff(f5,1,a);
- f1 = subst(f1, a, r1);
- f2 = subst(f2, a, r1);
- f3 = subst(f3, a, r1);
- f4 = subst(f4, a, r1);
- f6 = subst(f6, a, r1);
- if(poldegree(f1, x) != 1, print("Error in r2");print(f1),
- r2 = - polcoeff(f1, 0, x)/polcoeff(f1,1,x);
- f2 = subst(f2, x, r2);
- f3 = subst(f3, x, r2);
- f4 = subst(f4, x, r2);
- f6 = subst(f6, x, r2);
- if(poldegree(f3, y)!=1, print("Error in r3");print(f3),
- r3 = - polcoeff(f3, 0, y)/polcoeff(f3, 1, y);
- f2 = subst(f2, y, r3)*4*z;
- f4 = subst(f4, y, r3);
- f6 = subst(f6, y, r3)*4*z^2;
- f2 = reduce_by_z(f2,f4);
- f6 = reduce_by_z(f6,f4);
- if(poldegree(f2,z)!=1, print("Error in r4"),
- r4 = - polcoeff(f2, 0, z)/polcoeff(f2, 1, z);
- f4 = numerator(subst(f4, z, r4));
- f6 = numerator(subst(f6, z, r4))-f4;
- while(poldegree(f6, b)>0,
- tmp = reduce_by_b(f4,f6);
- f4=f6;f6=tmp
- );
- f6=component(f6,1);
- if(poldegree(f4, b)!=1, print("Error in r5"),
- r5 = -polcoeff(f4,0,b)/polcoeff(f4,1,b);
- equ = factor(f6);
- for(s=1, length(equ[,1]),
- rts=polroots(equ[s,1]);
- for(t=1,length(rts),
- if(0< real(rts[t]) && real(rts[t])<1 && abs(imag(rts[t]))<0.00001,
- c0=real(rts[t]);
- b0=subst(r5,c, c0);
- z0=subst(r4,c, c0); z0=subst(z0, b, b0);
- y0=subst(r3,c,c0);y0=subst(y0,b,b0);y0=subst(y0,z,z0);
- x0=subst(r2,c,c0);x0=subst(x0,b,b0);x0=subst(x0,z,z0);x0=subst(x0,y,y0);
- a0=subst(r1,c,c0);a0=subst(a0,b,b0);a0=subst(a0,z,z0);
- a0=subst(a0,y,y0);
- a0=subst(a0,x,x0);
- if(0<b0&&b0<1&&0<z0&&z0<1&&0<y0&&y0<1&&0<x0&&x0<1&&0<a0&&a0<1,
- print(equ[s,1]); print("a="a0";b="b0";c="c0";x="x0";y="y0";z="z0";x^2+a^2+(1-c)^2="x0^2+a0^2+(1-c0)^2)
- )
- )
- )
- )
- )
- )
- )
- )
- )
- }
复制代码 |
|