有五个圆圈, 排成一排,相邻两个有交集. 在其中填 1-9 九个数字, 使得每个圆圈中的数字之和相等.
设依次为 [a, (b] c, [d), e, (f], g, [h), i]
首先 a, i>=3. 若 a=c+d 为 3=1+2, 则 i必须是9. 且9=4+5.
但是这推不出解。因此,首尾的数 a 和 i 都大于 3.
确定 a 和 i 的取值范围后,就变成了三元未定方程组了。整个可以用编程实现。
根据问题我们得到
a=c+d
b+c=e+f
d+e=g+h
f+g=i
注意如果确定了 a 和 i. 那么, 中间两个方程可以认为是同等地位的.
比如选择 a=3, 于是确定 i=9. (可以使用子程序确定)
于是方程组变为
3=2+1
b+c=e+f
d+e=g+h
4+5=9
因此不妨设 f=4, g=5. 于是对于 (c,d)=(1,2) or (2,1) 代入, 将将剩余的数字代入检验是否是解。
比如下面是其中一个解.
9(4)1(8)3(2)5(6)7