Previous Up Next

7.1.23  Solving Diophantine equations

The isolve command attempts to solve the given equations over the integers. Note that it automatically solves for all of the indeterminates present in the equations.

Examples

Linear equations and systems can be solved.

isolve(5x+42y+8=0)
     

x=−10+42_Z0,y=1−5_Z0
          
isolve([x+y-z=4,x-2y+3z=3],m)
     

x=m,y=−4 m+15,z=−3 m+11
          

To find the general solution to Pell-type equation x2−23y2=1:

sol:=isolve(x^2-23y^2=1,n)
     





x=


24+5 
23


n


 
+

24−5 
23


n


 
2
,y=


24+5 
23


n


 


24−5 
23


n


 
23





          

To check that it is indeed the solution, enter:

simplify(subs(x^2-23y^2-1,sol))
     
0           

Now to obtain e.g. the first four solutions, enter:

simplify(apply(unapply(apply(rhs,sol),n),[1,2,3,4]))
     

[24,5],[1151,240],[55224,11515],[2649601,552480]
          

To obtain only the fundamental solution, enter:

isolve(x^2-23y^2=1,seq=false)
     
[x=24,y=5]           

The following two examples demonstrate solving quadratic equations with two indeterminates.

isolve(x^2-5x*y+4y^2=16)
     












    x=−4,y=−5
x=0,y=−2
x=4,y=0
x=10,y=2
x=21,y=5
x=4,y=5
x=0,y=2
x=−4,y=0
x=−10,y=−2
x=−21,y=−5












          
isolve(x^2-3x*y+y^2-x=2,n)
     
[[x
=



5
−3
2



n



 
 

−15 
5
−33

10
+



5
−3
2



n



 
 

15 
5
−33

10
2
5
,
         
y
=



5
−3
2



n



 
 

−3 
5
−6

5
+



5
−3
2



n



 
 

5
−6

5
3
5
]]
         
isolve(8x^2-24x*y+18y^2+5x+7y+16=0)
     


    x=−174 _Z12+17_Z1−2,y=−116 _Z12+21_Z1−2
    x=−174 _Z12+41_Z1−4,y=−116 _Z12+37_Z1−4


          

Integral zeros of ternary quadratic forms can be found.

isolve(x^2+11y^2+6x*y-3z^2=0,a,b,c)
     

x=c 
−44 a2+12 b2
,y=c 
13 a2−3 b2−6 a b
,z=c 
−11 a2−3 b2+2 a b

          

The components of the above solution can be divided by the GCD of −44 a2+12 b2, 13 a2−3 b2−6 a b, and −11 a2−3 b2+2 a b, thus producing a parametrization for the pairwise-coprime solutions given c=1.

Certain polynomial equations of the type f(x)=g(y) can be fully solved, as in the following example.

isolve(x^2-3x+5=y^8-y^7+9y^6-7y^5+4y^4-y^3)
     







x=−3,y=−1
x=6,y=−1
x=0,y=1
x=3,y=1
x=660,y=5
x=−657,y=5







          

The above list contains all integer solutions to the given equation.


Previous Up Next