Karim Belabas on Thu, 08 May 2014 18:14:04 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Very slow thue()


* Georgi Guninski [2014-05-08 16:01]:
> In this case thue() didn't finish in about 30 minutes,
> is this normal?
> 
> ? a=41 * 113 * 241 * 569
> %9 = 635318657
> ? th=thueinit(x^4+1)
> %10 = [[x^4 + 1, 1, 1], 4.000000000000000000]
> ? so=thue(th,a^5)

Given our implementation, yes.

You're in the "trivial case" r1 = 0 (the number field has no real place)
where the Bilu-Hanrot method does not apply: if f(x,y) = a, we directly have

  |x| < C * a^(1/deg f)

for some small effective C(f) (and this is essentially sharp). In your
case, this trivial bound yields

  |x| <= 142644328629

For each such value, we must check whether the univariate polynomial
f(x,Y) - a has integer roots. Which will take some time...

Here, the generic method is wasteful, you can find directly the set of
solutions by solving

  X^2 + Y^2 = a

then restricting to the X,Y which are both squares, so 
  [37483800763, 100380347806]
  [84497381381, 85132700038]
up to signs.

  L = bnfisintnorm(bnfinit(x^2+1),a^5);
  for(i=1,#L, [a,b]=Vec(L[i]); \
    if (issquare(abs(a),&a) && issquare(abs(b),&b), print([a,b])))

Cheers,

    K.B.
--
Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation    http://www.math.u-bordeaux1.fr/~kbelabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux1.fr/  [PARI/GP]
`