我不知道 n 个变量的任何通用快速解决方案,或者不使用命中和跟踪循环。但是对于给定的特定方程 2x + 5y + 8z = 14
,可能有一些基于观察的捷径。
请注意,对于任何可能的解决方案,范围都非常小:
0<=x<=7
, 0<=y<=2
, 0<=z<=1
除了 x = 7 之外,您至少必须使用 2 个变量。
(对于这种情况,x+y+z = 7)
如果只使用 2 个变量,让我们看看我们得到了什么:
如果选择使用 (x,z) 或 (y,z),asz
只能是 1,x
或者y
是微不足道的。
(x+y+z = 4 对于 (x,z),对于 (y,z) 无解)
如果您选择使用 (x,y),因为x
' 的系数是偶数而y
' 的系数是奇数,您必须选择偶数个y
才能实现偶数 RHS (14)。这意味着y
必须是2,x
然后是微不足道的。
(对于这种情况,x+y+z = 4)
如果使用所有 3 个变量,让我们找出我们得到的结果:
同样,z
必须为 1,所以基本上它使用 2 个变量 (x,y) 来实现 14-8 = 6,这是偶数。
我们再次使用类似的参数,所以我们必须选择偶数,y
其中 2,但是此时 2y + 1z > 14 已经,这意味着没有使用所有 3 个变量的解决方案。
因此,简单地按逻辑,用1或2个变量来化简方程,我们可以发现x+y+z最小为4,达到14 (x=3,y=0,z=1 or x=2,y=2 ,z=0)