Ask Your Question

Revision history [back]

Solving multilinear integer equations

I'd like to explore the solutions of a multilinear diophantine equation like $12(yz) + 6(y+x) +2 -4xy -2(w+x) = 0$. In particular I'd like to generate instances of solutions. I tried the function solve like:

(x,y,z,w) = var('x,y,z,w')
assume(x, 'integer'); assume(y, 'integer')
assume(z, 'integer'); assume(w, 'integer')
solve([12*(y*z) + 6*(y+x) +2 -4*x*y -2*(w+x) == 0], x)

which gives me the obvious

[x == 1/2*(6*y*z - w + 3*y + 1)/(y - 1)]

I'd like to generate some actual quadruples that solve this equation or possible investigate the structure more. Is there some systematic way to do this. In particular, when playing around with coefficients, is there a test of existence of an integer solution?

Solving multilinear integer equations

I'd like to explore the solutions of a multilinear diophantine equation like $12(yz) + 6(y+x) 6(y+z) +2 -4xy -4xw -2(w+x) = 0$. In particular I'd like to generate instances of solutions. I tried the function solve like:

(x,y,z,w) = var('x,y,z,w')
assume(x, 'integer'); assume(y, 'integer')
assume(z, 'integer'); assume(w, 'integer')
solve([12*(y*z) + 6*(y+x) 6*(y+z) +2 -4*x*y -4*x*w -2*(w+x) == 0], 0, y==y], x)

which gives me the obvious not particularly useful output:

[x [[x == 1/2*(6*y*z (3*(2*r1 + 1)*r2 + 3*r1 - r3 + 1)/(2*r3 + 1), y == r1, z == r2, w + 3*y + 1)/(y - 1)]
== r3]]

I'd like to generate some actual quadruples that solve this equation or possible possibly investigate the structure more. Is there some systematic way to do this. this? In particular, when playing around with coefficients, is there a test of existence of an integer solution?

Edit: I had typos in the first version, I edited the equation.