allocatemem(20*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)
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])
