Предложены полиномиальные алгоритмы построения базиса множества решений системы линейных однородных и неоднородных диофантовых уравнений в кольце вычетов по модулю некоторого числа при условии известного разложения модуля на простые множители.
Запропоновано поліноміальні алгоритми побудови базису множини розв'язків системи лінійних однорідних і неоднорідних діофантових рівнянь в кільці лишків за модулем деякого числа за умови відомого розкладу модуля на прості множники.Запропоновано поліноміальні алгоритми побудови базису множини розв'язків системи лінійних однорідних і неоднорідних діофантових рівнянь в полі лишків за модулем простого числа.Розглянуто методи розв'язання систем лінійних однорідних діофантових рівнянь в множині натуральних чисел та в множині {0, 1}. Наведено відповідні алгоритми, їх властивості і оцінки часової складності.
The basic concepts of linear homogeneous and inhomogeneous equations and inequalities in the domain {0, 1}, are considered the properties of the TSS-algorithm, which may be applied in solving those systems are described. The procedures for clearing the sets of solutions and determining the linearly dependent equations of the system during the process of the TSS algorithm are shown. Based on the basic concepts and properties, a memory effective modification of the TSS-algorithm for solving systems of linear homogeneous equations and inequalities with integer coefficients in {0, 1} is offered. A description of the proposed algorithm using pseudo-code and an estimate of the time complexity are given. Algorithms for solving a separate class of systems of linear homogeneous equations and inequalities whose coefficients belong to the set {– 1, 0, 1} are considered. A series of theorems that prove the correctness of the proposed algorithms are given. It is described their application to the following problems: finding sets of independent vertices of an undirected graph; finding deadlocks and traps in the Petri net; analysis of a set of clauses for inconsistency. For the task of finding sets of independent vertices of an undirected graph, a detailed description of reducing the problem to a system of linear inequalities is given, two solution algorithms are proposed, as well as a modification of the second algorithm. Examples are presented with a detailed explanation of the solution via each of the algorithms and their time characteristics of work are described. For problems of finding deadlocks and traps in the Petri net, a method for reducing it to systems of linear inequalities with coefficients in the set {– 1, 0, 1} and solutions in the set {0, 1} is proposed. An example with the solution explanation and time characteristics of the work of the offered algorithm is described. The algorithm for analyzing the set of clauses for inconsistency is presented in a pseudo-code form. In addition to checking for the inconsistency of a given set of clauses, it allows you to find the minimal inconsistent subsets of clauses if they exist. The operation of the algorithm is illustrated with examples and time characteristics of the algorithm are described.