MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: What inspite FindInstance

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122736] Re: What inspite FindInstance
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Wed, 9 Nov 2011 06:23:39 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201111081215.HAA04920@smc.vnet.net>

On 11/08/2011 06:15 AM, Artur wrote:
> Dear Mathematica Gurus,
> Matematical problem is following: find pair of integres {d,x} which fill
> equation (d ^2 +
>        270 d Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6&, 1]^3 -
>        2916 x Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6&, 1]^5 +
>        3645 Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6&, 1]^6 ==
>       0)
>
> FindInstance[(d ^2 +
>        270 d Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6&, 1]^3 -
>        2916 x Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6&, 1]^5 +
>        3645 Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6&, 1]^6 ==
>       0)&&  (x d != 0), {x, d}, Integers]
>
> Mathematica report:
> FindInstance::nsmet: The methods available to FindInstance are
> insufficient to find the requested instances or prove they do not exist.>>
>
> First solution is x=2 and d=-1
> I'm looking for next ones. Who have idea what to do?
>
> Best wishes
> Artur

Convert the input lhs so that everything is expressed as a polynomial in 
the basic root object. This takes a small amount of work because one 
power thereof expands into a sum of lower powers.

In[91]:= expr =
   d^2 + 270 d Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6 &, 1]^3 -
    2916 x Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6 &, 1]^5 +
    3645 Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6 &, 1]^6;
rt = Root[1 - 270 #1^3 - 5832 #1^5 + 3645 #1^6 &, 1];
e2 = expr /. rt^n_. :> ToNumberField[rt^n, rt]

Out[93]= d^2 +
  AlgebraicNumber[Root[3125 - 250*#1^3 - 24*#1^5 + #1^6 & , 1],
      {-1, 0, 0, 2/25, 0, 24/3125}] +
    x*AlgebraicNumber[Root[3125 - 250*#1^3 - 24*#1^5 + #1^6 & , 1],
        {0, 0, 0, 0, 0, -(12/3125)}] +
    d*AlgebraicNumber[Root[3125 - 250*#1^3 - 24*#1^5 + #1^6 & , 1],
        {0, 0, 0, 2/25, 0, 0}]

Integer values of x and d will only move the coefficients in the 
AlgebraicNumber objects by integer multiples. So all we need to do at 
this point is find {x,d} pairs that make the coefficient vector sums 
vanish. To this end I will replace that root by a dummy variable.

In[94]:= e3 =
  e2 /. AlgebraicNumber[Root[3125 - 250 #1^3 - 24 #1^5 + #1^6 &, 1],
     ll_] :> ll.z^Range[0, Length[ll] - 1]

Out[94]= -1 +
  d^2 + (2*z^3)/25 + (2*d*z^3)/25 + (24*z^5)/3125 - (12*x*z^5)/3125]

Now force all polynomial coefficients to zero and solve for {x,d}.

In[95]:= SolveAlways[e3 == 0, z]
Out[95]= {{d -> -1, x -> 2}}


Daniel Lichtblau
Wolfram Research




  • Prev by Date: Re: Import files on accessible URL and save in
  • Next by Date: Re: Import files on accessible URL and save in
  • Previous by thread: Re: What inspite FindInstance
  • Next by thread: NETLink vs LibraryLink for calling an external program