找到一组方程的整数解,其中包含比方程更多的未知数

Han*_*aan 15 java math apache-commons-math

我正在尝试构建一个系统,我需要找到一组线性方程的解决方案,其中包含比方程更多的变量.

问题归结为以下几点:

想象一组方程式:

A = A1*X1 + A2*X2 + ... + AnXn
B = B1*X1 + B2*X2 + ... + BnXn
Run Code Online (Sandbox Code Playgroud)

如何为此系统找到一个或多个(正)整数解?

注意:我一直在查看apache-commons-math库,但是我找不到任何关于如何解决/找到具有自由变量的系统解决方案的指示.

Ale*_*oux 4

使用 Lenstra\xe2\x80\x93Lenstra\xe2\x80\x93Lov\xc3\xa1sz 格基约简算法来查找系统的 Hermite 范式。

\n\n

它在 matlab 中是直接的http://fr.mathworks.com/help/symbolic/mupad_ref/linalg-hermiteform.html

\n\n

检查 C++ 的 NTL http://www.shoup.net/ntl/index.html

\n