allocatemem(100*10^6);
thue(x^4 - 13*x^3 - 172*x^2 - 13*x + 1, 9)
thue(x^3 - 2, 2)
thue(x^6 - 2, 2638)
thue(x^3 + x^2 - 43690*x - 3529208, -3572896)
thue(x^4-x^3+x^2-x+1,1)
thue(x^3-48,320)
thue(x^7-401,88)

thue(thueinit(x^3-100,1), 25)

thue((x+1)^2*(x^2+2), 12)
thue((4*x+1)^2*(x^2+2), 75)

thueinit(x^0)

thue(23*x^4 + 40*x^3 - 600*x^2 + 160*x + 368, -144)

thue(x^3+92*x+1,3^3)
thue(x^3-18*x^2+81*x+1,3^3)
thue((x^4+1)^2,4)
thue((x^2+1)^2*(x^2-2),0)
thue((x^3-2)^2,0)
thue(x^3-2,0)
thue((x^2+1)^2*(x^2-2),-4)
thue(x^3-12*x-13,87)
setrand(1);thue(x^3-537825*x^2+537824*x+1, 1)
thue(thueinit(x^3-x-1),1578191)
thue((10946*x-6765)*(x^2+x-1), 1)
thue((x^3-2)^2,-4)
thue((x^3-2)^2,4)
thue((x^3-2)^3,-8)
thue((x^3-x+1)^3,-512)
thue((2*x^3+2)^3*(x+1)^3, 157464)
thue(x^4+1,20^30+3)
thue(-(x^4+1),10^20)
thue(x^2+x+1, 7*13*11^2*10^4)
do(T,a)=
{
  my(L = thue(T,a), d = poldegree(T));
  for(i=1,#L,
    my([u,v]=L[i]);
    my(h = if(v, v^d*subst(T,x,u/v), pollead(T)*u^d));
    if(h!=a, error([u,v]))); #L;
}
do(x^2+1,10^10)
do(4*x^2+1,10^10)
do(x^2+5,10^10)
do(4*x^2+5,10^10)
do(x^2+x+1,7*13*11^2*10^4)
do(25*x^2+45*x+21,10^4)

\\ short continued fraction [#1629]
thue(-14*x^3+10*x^2+63*x-5,1)

\\ round error
thue(29*x^3+130*x^2-35*x-48,1)

\\ #1630
T=thueinit(10*x^3+6*x^2-41*x+8,1);
thue(T,8)

thue(-26*x^3+106*x^2+117*x-53,1)

T=thueinit(8758*x^3 - 15667*x^2 - 10120*x - 23938,1);
thue(T,1)

P=-74*x^3+236*x^2+1500*x-469;
thue(P,1)
thue(thueinit(P,1),1)

\\ denominators
thue(x^2+3, 10^12 + 39)

\\ #2003 + missing solution
p=x^28+1731*x^26+922623*x^24+191101246*x^22+20130551985*x^20+1253260615292*x^18+49888378570100*x^16+1321233290968720*x^14+23633671333922020*x^12+284346917208077022*x^10+2247402310097126980*x^8+11107629226258927789*x^6+31330156854132324561*x^4+42585395771105656706*x^2+21292697885552828353;
thue(p,1)

thue(x^2+10^20,1,[1])
thue(x^2+x*10^20+10^40,1,[1])

\\ addprimes issue
addprimes(360000000029);
#thue(x^2+1,500009*500029* 360000000029* 2^100)

{
/* #252, #2296 */
thueinit(x^76+54687*x^74+1331409702*x^72+19294128253783*x^70+1878910698050
05926*x^68+1316103875879574524715*x^66+6928411165475589202157365*x^64+282656
01816777038835336956296*x^62+91400756764560817129471682430464*x^60+238301396
929638667200442999270449412*x^58+507599640095276712508391037681631012864*x^5
6+892498013590370337884521258437261828512004*x^54+13058051125037082855876656
03530643585035234682*x^52+1599704196388643067865899482606106296517340746234*
x^50+1648693947468111663454266410635199577958709090018780*x^48+1434383013265
936944871141197360008258547232909851891562*x^46+1055849837928294731596871954
258328961575247209261438815532*x^44+6583893883514388036620346642839604275660
29686163968634741618*x^42+34786339179545333202022551273149279021904054412411
5349548497306*x^40+155618545623882506256647934775052281194816623166250956528
455476140*x^38+5884335225955273733359535669924706155305033323888549133038445
1754496*x^36+187555158104606473963495307983264503281777678485432278059780545
66731332*x^34+50198055501664894435361316813724305483917492385987314163950427
03924840016*x^32+11224400635060745044227482776842712690172594965601806413094
70797894071357668*x^30+20831871181186581631484573893437224049354128942169978
5098607399921597106223941*x^28+318283508779520505745347725901768768088744645
68357325854282602776660644907236735*x^26+39623343744308977655796345507986280
84419763402710919880217016533956575743304686062*x^24+39677279425758842513773
1011250354921937194381988127282097881441791677100218894823415*x^22+314446562
0437057365491469689153779708771612812934492884362053182599698195803379737078
2*x^20+193218462253762438930328899478446070124439303766540053117670847176261
0586818661410507259*x^18+896730494408605371087014654739087786574970449662887
68336085606913177971948281572511434737*x^16+30394524242952246470288123587221
26420410158865754289708994377347655728705424140768271779892*x^14+72102036555
0045711218896556431516655334198584471998361289159337699799900516216772135898
99920*x^12+11367539978311271814412274473436097275981738259454259177918409719
04414393463036113868508034176*x^10+11230904437813718587766363478285636923911
496290123758733224250429666623697944153531813674338816*x^8+63909047484450872
6667108573753409231740471208100390840723339396060557404017422357595809204940
80*x^6+176842247739964531891182887798451093710155575758662537711298418990445
611753966533809149772484608*x^4+14312476391695290649330030833204746873479848
6056764704852623085926055626863515512636287595986944*x^2+2879820481730619500
55529070071389519187679665146560289272601644716511470652898701730997141504);
}

\\ #2365
ti=thueinit(3*x^3 + 5*x^2 - 14*x + 54,1); thue(ti,1)
\\ #2397
ti=thueinit(x^3-3*x^2+1); thue(ti,2187)
