Complete Solving of Linear Diophantine Equational and Inequational Systems without Adding Variables

In this report, we present an algorithm for solving {\em directly} linear Diophantine systems of both equations and inequations. Here directly means without adding slack variables for encoding inequalities as equalities. This algorithm is an extension of the algorithm due to Contejean and Devie \cite{contejean94ic} for solving linear Diophantine systems of equa­tions, which is itself a generalization of the algorithm of Fortenbacher \cite{clausen89} for solving a single linear Diophantine equation. All the nice properties of the algorithm of Contejean and Devie are still satisfied by the new algorithm: it is complete, {\em i.e.} provides a (finite) description of the set of solutions, it can be implemented with a {\em bounded} stack, and it admits an incremental version. All of these characteristics enable its easy integration in the CLP paradigm.

[1]  Mark E. Stickel,et al.  A Unification Algorithm for Associative-Commutative Functions , 1981, JACM.

[2]  Evelyne Contejean,et al.  Complete Solving of Linear Diophantine Equations and Inequations without Adding Variables , 1995, CP.

[3]  Éric Domenjoud Outils pour la déduction automatique dans les théories associative-commutatives , 1991 .

[4]  Eric Domenjoud,et al.  Solving Systems of Linear Diophantine Equations: An Algebraic Approach , 1991, MFCS.

[5]  Michael Clausen,et al.  Efficient Solution of Linear Diophantine Equations , 1989, J. Symb. Comput..

[6]  George E. Collins,et al.  Algorithms for the Solution of Systems of Linear Diophantine Equations , 1982, SIAM J. Comput..

[7]  J. Sogno Analysis of standard and new algorithms for the integer ans linear constraint satisfaction problem , 1991 .

[8]  Karmarkar [ACM Press the sixteenth annual ACM symposium - Not Known (1984..-..)] Proceedings of the sixteenth annual ACM symposium on Theory of computing - STOC \'84 - A new polynomial-time algorithm for linear programming , 1984 .

[9]  M. Macnicol 61.6 Solving Linear Diophantine Equations Using Matrices , 1977 .

[10]  Evelyne Contejean Solving *-Problems Modulo Distributivity by a Reduction to AC1-Unification , 1993, J. Symb. Comput..

[11]  Evelyne Contejean,et al.  A new AC unification algorithm with an algorithm for solving systems of diophantine equations , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[12]  A. Clifford,et al.  The algebraic theory of semigroups , 1964 .

[13]  Gérard P. Huet,et al.  An Algorithm to Generate the Basis of Solutions to Homogeneous Linear Diophantine Equations , 1978, Inf. Process. Lett..

[14]  L. Khachiyan Polynomial algorithms in linear programming , 1980 .

[15]  Loïc Pottier Minimal Solutions of Linear Diophantine Systems: Bounds and Algorithms , 1991, RTA.

[16]  Eric Domenjoud,et al.  From Elliott-MacMahon to an Algorithm for General Linear Constraints on Naturals , 1995, CP.

[17]  David K. Smith Theory of Linear and Integer Programming , 1987 .

[18]  Jean-François Romeuf A Polynomial Algorithm for Solving Systems of Two Linear Diophantine Equations , 1990, Theor. Comput. Sci..

[19]  Ana Paula Tomás,et al.  Fast Methods for Solving Linear Diophantine Equations , 1993, EPIA.

[20]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[21]  Evelyne Contejean,et al.  An Efficient Incremental Algorithm for Solving Systems of Linear Diophantine Equations , 1994, Inf. Comput..

[22]  Eugene C. Freuder,et al.  Constraint satisfaction using constraint logic programming , 1994 .