This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Solve polynomial Diophantine equations

MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.


solvelib::pdioe(a, b, c)
solvelib::pdioe(aexpr, bexpr, cexpr, x)


solvelib::pdioe(a, b, c) returns polynomials u and v that satisfy the equation au + bv = c.

solvelib::pdioe(aexpr, bexpr, cexpr, x) does the same after converting the arguments into univariate polynomials a, b, c in the variable x.

The coefficient ring of the polynomials a, b, and c must be either Expr, or IntMod(p) for some prime p, or a domain belonging to the category Cat::Field.


Example 1

If expressions are passed as arguments, a fourth argument must be provided:

                13*x + 22*x^2 + 18*x^3 + 7*x^4 + x^5 + 3,
                x^2 + 1,

Example 2

x is not a multiple of the gcd of x + 1 and x2 - 1. Hence the equation u(x + 1) + v(x2 - 1) = x has no solution for u and v:

solvelib::pdioe(x + 1, x^2 - 1, x, x)

Example 3

If the arguments are polynomials, the fourth argument may be omitted:

solvelib::pdioe(poly(a + 1, [a]),
                poly(a^2 + 1, [a]),
                poly(a - 1, [a]))



Identifier or indexed identifier

a, b, c

Univariate polynomials

aexpr, bexpr, cexpr

Polynomial expressions

Return Values

If the equation is solvable, solvelib::pdioe returns an expression sequence consisting of two operands of the same type as the input (expressions or polynomials). If the equation has no solution, solvelib::pdioe returns FAIL.

See Also

MuPAD Functions

Was this topic helpful?