msolve - Maple Programming Help

msolve

solve equations in Z mod m

 Calling Sequence msolve(eqns, vars, m) msolve(eqns, m)

Parameters

 eqns - set of equations or a single equation vars - (optional) set of names or a name which must not appear among the indeterminates in eqns m - integer

Description

 • The procedure msolve solves the equations in eqns over the integers $\left(\mathrm{mod}m\right)$. It solves for all of the indeterminates occurring in the equations.
 • If the solution is indeterminate, and if it is possible, a family of solutions is expressed in terms of the names given in vars (or the global names _Z1, _Z2, _Z3 if vars is omitted). These names (which must not coincide with any indeterminates) are then allowed to take any integer values.
 • Unlike solve, but like isolve, the second, optional argument does not specify variables to solve for, but instead may be used to specify names for parameters of indeterminate solutions. The msolve command always solves for all the indeterminates in eqns.
 • The msolve command returns NULL if there are no solutions over the integers $\left(\mathrm{mod}m\right)$.
 • In some cases, a partial solution may be returned. If msolve is able to detect that a partial solution may be incomplete, then it sets the global variable _SolutionsMayBeLost to true.
 • If msolve is unable to solve eqns, but is not able to prove there are no solutions, then FAIL is returned.
 • The procedure msolve has special code for efficiently handling large systems of equations mod 2.
 • If you want to solve a single univariate polynomial $\mathrm{mod}m$ where m is not necessarily prime, see the Roots function.
 • For solving linear systems of equations $\mathrm{mod}m$, use Linsolve, which is known to mod.

Examples

 > $\mathrm{msolve}\left(\left\{3x-4y=1,7x+y=2\right\},19\right)$
 $\left\{{x}{=}{15}{,}{y}{=}{11}\right\}$ (1)
 > $\mathrm{msolve}\left({x}^{2}=3,5\right)$
 > $\mathrm{msolve}\left({2}^{i}=3,19\right)$
 $\left\{{i}{=}{13}{+}{18}{}{\mathrm{_Z1}}\right\}$ (2)
 > $\mathrm{msolve}\left({8}^{j}=2,x,17\right)$
 $\left\{{j}{=}{3}{+}{8}{}{x}\right\}$ (3)