找到填充幻方的方法的数量

Find number of ways to fill the magic square

我们有一个简化的 3x3 幻方,可以用从 09 的数字重复填充。 每行元素之和必须等于每列元素之和,对角线无关。

我们需要计算填充这个方块的方法数,所以每行和每列的总和等于 N

设我们的矩阵为

[[a0, a1, a2],
 [a3, a4, a5],
 [a6, a7, a8]]

行的总和将是:

a0 + a1 + a2 = N
a3 + a4 + a5 = N
a6 + a7 + a8 = N

和列:

a0 + a3 + a6 = N
a1 + a4 + a7 = N
a2 + a5 + a8 = N

对于每个常数 N,我们有 6 个方程式,其中包含 9 个未知数。事实证明,最后一个方程依赖于其他方程,所以我们实际上只有 5 个独立方程,因此最终有 4 个自由变量。

如果您求解给定 N 的方程组,您可以强制执行这 4 个变量,然后只需验证其余变量是否解析为 [0, 8] 范围内的整数值。这是 N=11 的示例:

a1  =    1 a5   +1 a6   +1 a8   +1 a9   -11
a2  =   -1 a5   -1 a8   +11
a3  =   -1 a6   -1 a9   +11
a4  =   -1 a5   -1 a6   +11
a5  =   arbitrary
a6  =   arbitrary
a7  =   -1 a8   -1 a9   +11
a8  =   arbitrary
a9  =   arbitrary