In this paper, we show how to handle linear Diophantine constraints incre-mentally by using several variations of the algorithm by Contejean and Devie (hereafter called ABCD) for solving linear Diophantine systems 4, 5]. The basic algorithm is based on a certain enumeration of the potential solutions of a system, and termination is ensured by an adequate restriction on the search. This algorithm generalizes a previous algorithm due to Fortenbacher 2], which was restricted to the case of a single equation. Note that using Fortenbacher's algorithm for solving systems of Diophantine equations by repeatedly applying it to the successive equations is completely unrealistic: the tuple of variables in the solved equation must then be substituted in the rest of the system by a linear combination of the minimal solutions found in which the coeecients stand for new variables. Unfortunately, the number of these minimal solutions is actually exponential in both the number of variables and the value of the coeecients of the equation solved. In contrast, ABCD solves systems faster, without any intermediate blow-up, since it considers the system as a whole. Besides, and this is the new feature described in this paper, it can easily tolerate additional constraints such as membership constraints, linear monotonic inequations, and so on. This is due to the enumeration of tuples which allows a componentwise control of potential solutions. This is not the case with others (more recent) algorithms for solving systems of Diophantine equations, which are based on algebraic and combinatorial techniques 7, 17].
[1]
Michael Clausen,et al.
Efficient Solution of Linear Diophantine Equations
,
1989,
J. Symb. Comput..
[2]
Evelyne Contejean,et al.
A Partial Solution for D-Unification Based on a Reduction to AC1-Unification
,
1993,
ICALP.
[3]
Pascal Van Hentenryck,et al.
The Constraint Logic Programming Language CHIP
,
1988,
FGCS.
[4]
Loïc Pottier.
Minimal Solutions of Linear Diophantine Systems: Bounds and Algorithms
,
1991,
RTA.
[5]
Eric Domenjoud,et al.
Solving Systems of Linear Diophantine Equations: An Algebraic Approach
,
1991,
MFCS.
[6]
Mark E. Stickel,et al.
A Unification Algorithm for Associative-Commutative Functions
,
1981,
JACM.
[7]
John E. Hopcroft,et al.
On the Reachability Problem for 5-Dimensional Vector Addition Systems
,
1976,
Theor. Comput. Sci..
[8]
E. Contejean,et al.
Résolution de systèmes linéaires d'équations diophantiennes
,
1991
.
[9]
Costas S. Iliopoulos.
Worst-Case Complexity Bounds on Algorithms for Computing the Canonical Structure of Infinite Abelian Groups and Solving Systems of Linear Diophantine Equations
,
1989,
SIAM J. Comput..
[10]
Gérard P. Huet,et al.
An Algorithm to Generate the Basis of Solutions to Homogeneous Linear Diophantine Equations
,
1978,
Inf. Process. Lett..
[11]
G. Makanin.
The Problem of Solvability of Equations in a Free Semigroup
,
1977
.