【发布时间】:2019-03-15 20:36:01
【问题描述】:
是否有任何有效的算法可用于生成方程的所有整数解,如下面的?
(8+3n)m = 11 | n ∈ {0,1},m ∈ ℤ+
(5+(7+3x+2y)a+3z)b = 30 | x,y,z ∈ {0,1}, a,b ∈ ℤ+
理想情况下,我希望能够分别为 n、m 和 a、b、x、y、z 生成所有有效整数值的集合。至少我想要一种测试方程是否可解的方法。鉴于这些方程是非线性的,我想用于求解简单丢番图方程的典型方法在这里会失败。
如果能得到任何帮助,我将不胜感激!
【问题讨论】:
-
这很快就会变得困难 - 请参阅cstheory.stackexchange.com/questions/17478/…
-
在您的示例中,所有系数都是正数并且右侧只有一个整数,这是巧合吗?如果这个数字不太大并且变量数量有限,那么蛮力方法可能是最好的选择。
-
这不是巧合,对于我的简单情况,系数将始终为正,并且右侧始终存在一个相对较小的整数。我想象蛮力可能是我唯一的选择,但我希望有一些更优雅的东西。谢谢你们的回复!
标签: algorithm language-agnostic algebra