Accelerating the pace of engineering and science

# solvelib::pdioe

Solve polynomial Diophantine equations

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

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

## Description

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.

## Examples

### Example 1

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

```solvelib::pdioe(x,
13*x + 22*x^2 + 18*x^3 + 7*x^4 + x^5 + 3,
x^2 + 1,
x)```

### 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]))```

## Parameters

 x 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.