数学家以为魔法六边形只有 2 个,其实有无数个

数学家以为魔法六边形只有 2 个,其实有无数个

数学科普证明

数据源:HN + web research · HN

为了找到一个魔法六边形,美国铁路职员 Clifford Adams 花了将近半个世纪:1910 年开始琢磨,1957 年才摆出答案。2026 年 8 月 2 日,一份新证明给出了更惊人的说法——这种图形,从 3 阶往上,每一阶都存在,想要几阶,照着公式造就行。

原始文章贴在 gukov.dev,Hacker News 的讨论拿了 178 个赞。评论区膜拜的是一个构造的巧思。笔者先把来龙去脉讲清楚。

先从九宫格说起

九宫格填 1 到 9,让每行、每列、两条对角线相加都等于 15。这是小学趣味题的常客,也是幻方最朴素的样子。中国古书里的洛书,就是它。

幻方有四千多年历史,数学家早已研究透:不管方阵多大,都有现成算法直接造出来。魔法六边形是它的六边形亲戚:格子换成蜂窝,数字沿三个方向排成直线,要求每一条直线上的和都相等。边长 n 个格子的叫 n 阶,格子总数是 3n²-3n+1。3 阶是 19 格,正好装下 1 到 19。

和幻方不一样,六边形的直线长短不齐:同样叫「一条线」,有的走 3 格,有的走 5 格,和却必须一样。光是这一点,就比九宫格难出一大截。

标准版本:只有两个成员

标准版本要求数字从 1 开始连续排列。这个版本冷清得很:标准版本下,魔法六边形只有两个——1 阶和 3 阶。 1 阶是一个格子写个 1;3 阶填 1 到 19,三个方向共 15 条直线,每条的和都是 38。除去旋转和翻转,再没有别的摆法。

经典三阶魔法六边形 图:经典的 3 阶魔法六边形,填入 1 到 19,每条直线和都是 38。来源:Wikipedia

「只有两个」是有证明的,而且很短。把格子里的数加起来,每条线的和必须是整数,式子一路推下去,只有 n=1 和 n=3 能满足整除条件。连 2 阶都不存在——2 阶算出来的每行和是 28/3,一个分数,直接出局。

3 阶的那个解,历史上被反复重新发现。流传最广的版本:铁路职员 Clifford Adams 从 1910 年摆弄到 1957 年,马丁·加德纳 1963 年把它写进数学专栏。一个谜,一个人,半辈子。

一扇侧门:从别的数开始

故事到这里本该结束。多数人的判断是:六边形这条路到头了,魔法六边形是个孤品。但那个「只有两个」的证明,管的是「数字从 1 开始」的版本。 把起点挪开呢?比如从 -9 排到 9?

约束只松开一点点,新世界出现了。这类「异常魔法六边形」,3 阶、4 阶、5 阶、6 阶……陆续被人找到,代价极大:没有公式也没有现成算法,只能在一片大得吓人的排列空间里硬找,几年才出一个。每一次新纪录都上新闻,因为谁也不敢保证下一个阶数还有解。最大的一个到 10 阶,2024 年才由 Klaus Meffert 借助 AI 找到。没人知道这条路能走多远,更多人相信它走不远。

新证明:不是找到,是造出来

2026 年 8 月 2 日,gukov.dev 贴出新结果:从 3 阶往上,每一阶都有魔法六边形。 注意措辞:不是「又多找到几个」,是「全部都有」,一次拿下无穷多个。

作者的招数有两手。第一手是加对称:0 放中心,相对的格子互为相反数。这样一来,过中心的直线自动加出 0,其他直线的约束也减半。第二手是换视角:把六边形看成一张「势场」地形图——在这个表示里,所有直线和为 0 自动成立,根本不用凑。

新构造的50阶魔法六边形 图:按新构造直接生成的一个 50 阶魔法六边形,7351 个格子,每条直线和相等。来源:gukov.dev

50阶魔法六边形的势场视图 图:同一个 50 阶六边形的「势场」视图,像一张地形图。约束自动满足后,剩下的只是填数字。来源:gukov.dev

搜索空间小了一大截。作者让 AI 写了一个专用求解器,家里服务器 24 个核心跑几天,3 阶到 10 阶全部找到。但这只是序曲:找到再多,也只是有限个。真正的突破是构造——先证明部分阶数能按公式造,再一步步推广,最终所有阶数拿下。过程不是一次到位的:中途一度卡壳,还退而求其次改证「存在无穷多个」,最后才拿掉所有限制。构造的核心工具叫 Langford 序列:一种把成对数字排进序列的组合结构。证明过程借助了 AI 定理证明助手,连对话记录都公开挂在网上。

为什么评论区服气?因为构造性证明不只说「存在」。它给出一个算法:照着做,就能造出任意阶数的魔法六边形。 作者顺手造了 50 阶、500 阶的成品挂出来,500 阶有 74 万多个格子。数值看起来杂乱,换成势场视图却是连绵的地形——斜坡、山脊、山谷,平滑得不像搜索出来的。

为什么「存在」需要证明

普通人会问:找到一个不就完了,证明干什么?因为搜索永远给不了答案。你搜到 10 阶,还有 100 阶;搜到 100 阶,还有一万阶。验证永远是有限的,证明才能覆盖无限。 公式几行,走完无穷——这是存在性证明的分量。它还有一层实际用途:给后来的人壮胆。知道有解,才敢继续找更漂亮的解。

也要说清楚这份证明的边界:它还没有形式化验证,也没经过独立复核,作者自己在文章里写明了这一点。2 阶依旧不存在——作者在讨论区确认,2 阶会强制出现重复数字。数学的规矩没变:新结果要等同行检查。

边界比想象远

这个故事里最耐人寻味的部分:老证明没有错,它确实挡住了「从 1 开始」的所有大阶数。数学里「到此为止」的结论,常常只在一个规则下成立。 老证明挡的是正门,新证明走的是侧门——起点挪一格,无穷多个解站在门外。

一个铁路职员找了半辈子的东西,如今一页公式要多少有多少。笔者写到这里想的是:数学的边界,常常不是世界的边界,只是人类给自己画的边界。下次看到九宫格,不妨想想它的六边形亲戚——蜂窝深处,有一条每一阶都亮着灯的楼梯。

参考链接:

  • gukov.dev: There Are Magic Hexagons of Every Order
  • HN 讨论 (item?id=49229174)
  • Wikipedia: Magic hexagon
  • Wikipedia: 幻方(洛书)