從 Fourier 的十七線問題談起
柳柏濂
1.Fourier 提出的問題
十八 世 紀, 法 國 著 名 數 學 物 理學 家 Jaseph Fourier 在二十歲的時候 (1788) 給他的朋友 C. L. Bonard寫了一封信, 信中 提出了一個有趣的幾何組合問題:
“這裡有一個奇特的小問題, 它使我想 起了我們在好幾個時候討論過的, Euclid幾 何的某些性質。 在同一平面上安排十七條直 線, 假設這些直線可以無限伸延且無三線共 點, 那麼, 如何安排這十七條線, 使之交出 101 個點。”
如果我們限定 17條直線兩兩相交, 則它 們的交點數是
17
2
= 136 > 101, 顯然這個 問題無解。於是, 我們必須考有某些直線是互相平 行的。 下面, 把 Fourier 問題置於一般的情 況下去思考。
2. 更一般的問題
我們更廣泛地提出如下問題。
平面上有n條直線, 無三線共點, 要使這 些直線交出m個點, 應如何安排這n條直線?
為方便敘述, 我們把一組平行線稱為平 行線族。
先求n條直線交點數的最大值。
顯見, 若這些直線無平行線族的話, 它們 的交點數最大, 這個數是
n2
= n(n−1)2 。
如果n條直線的某種安排使其交點數不 是
n
2
, 因為已知無三線共點, 故, 這n條直線 必有平行線族。設 這n條直線含k族平行線族(1 ≤ k ≤ [n2]), 它們所含的直線條數分別 是j1, j2, · · · , jk, 這裡, j1, j2, · · · , jk都是不 小於 2的整數, 且滿足j1+ j2+ · · ·+ jk≤n。
因為所要求的交點總數是m, 顯然 m ≤
n2
= n(n−1)2
故交點的總數比最大值減少了n(n−1)
2 −m個。
易知, 導致交點數的減少是因為有平 行線族。 k族平行線, 每一族中的jt(t = 1, 2, . . . k)條直線彼此無交點。 故交點數比最 大值減少了
P
kt=1jt
2
個。於是 n(n−1)
2 −m=
P
kt=1 jt(jt2−1) (2.1) (2.1) 式右邊各項都是第 jt − 1(t = 1, 2, . . . k) 個三角數。 所謂第jt −1個三角 數, 即以jt−1個點為邊組成的三角形的總點 數。 例如3(3−1)2 , 4(4−1)2 , 5(5−1)2 的幾何意義如 圖 1 所示。
1
3(3−1)
2 = 3 4(4−1)2 = 6 5(5−1)2 = 10 圖1
(2.1) 式告訴我們: Fourier問題有解的 必要條件是n條直線交點的最大值與m的差 必須是三角數之和。
對於三角數, 古希臘的數學家已經注意 到它的有趣性質。 例如, 相鄰兩個三角數之 和必是平方數。 早在十七世紀, 法國數學家 Fermat 已經發現三角數的這樣的一個性質:
任一個正整數都可以表示為一個, 兩個或3個 三角數之和。 直到 1815 年, 這一性質才由數 學大師 Cauchy 嚴格證明出來, 運用這個性 質, 我們在檢查必要條件 (2.1) 時, 只須檢 查
P
kt=1jt不大於n就可以了。下面, 我們用 (2.1) 式解 Fourier 的十 七線問題。
令n = 17, m = 101, 由 (2.1) 式得
j1(j1−1)
2 +j2(j22−1)+· · ·+jk(j2k−1)=17(17−1)2 − 101
即 j1(j21−1)+j2(j22−1) + · · · + jk(jk2−1) = 35 j1+ j2+ · · · + jk ≤17
我們把不大於 35的所有三角數列出來
j
t2 3 4 5 6 7 8 9
jt(jt−1)
2
1 3 6 10 15 21 28 36
表1
由上表可見, 35 這個數不是三角數, 也 不是兩個三角數之和, 即 17 條直線要交出 101個點必不能僅有一族或兩族平行線。 由三 角數的性質知, 它至少是三個三角數之和。
對照上表, 由 (2.1) 式, 我們不難得到 Fourier 十七線問題的全部 4 個解。
(1) j1 = 5, j2 = 5, j3 = 6及 1 條直線 (圖 2(a))
(2) j1 = 2, j2 = 4, j3 = 8及 3 條不成 平行線族的直線。(圖 2(b))
(3) j1 = 2, j2 = 3, j3 = 3, j4 = 8 和 1 條直線。(圖 2, (c))
(4) j1 = 2, j2 = 3, j3 = 5, j4 = 7(圖 2(d))
(a)
(b)
(c)
(d) 圖2
讀者可以看到, Fourier 的十七線問題 如果僅用幾何的方法去解, 即使求一個解也 是不容易的, 然而, 這裡用三角數的組合方法 把它的所有 4 個解都找出來了! 作為一個練 習, 讀者們可以嘗試一下, 把 Fourier 的 17 線改為變成 131 個點, 則直線如何安排? (兩
個解: (1)5 個 2 線組平行線族, 7 條不成族的 直線 (2)2個 2線組平行線族, 1個 3線組平行 線族, 10條不成族的直線)
3. 三角形的個數問題
Fourier一百多年前提出的問題已得到 圓滿解決。 但是, 我們言猶未盡, 如果把 Fourier 問題中所規定的交點數改為三角形 個數, 問題是否能夠類似地得到解決呢?
問題的一般提法是:
在平面上給出n條直線(n ≥ 3), 無三線 共點, 若要交出m個三角形, 如何安排這些直 線?
先計算n條直線在平面上交出的三角形 個數的最大值。 顯然, 當此n條直線均無兩直 線平行時, 所交出的三角形個數
n3
最大。
若m <
n3
, 則n條直線中至少有兩直 線平行。 設n條直線共分為k組平行線。 每組 的線數分別為j1, j2, · · · , jk,
j1 + j2 + · · · + jk=n, 1 ≤ jt ≤ n(t = 1, 2, · · · k), 這裡, 我們廣義地約定, 當jt= 1時, 第t組直線非平行線族, 僅為 1 條 直線。
由上述的討論知, 若n條直線無兩條互 相平行, 交出的三角形個數最大, 而由於出現 了平行線族, n條直線交出的三角形個數變成 了m ≤
n3
, 故三角形個數減少了。 n
3
−m (3.1)
我們又從另一方面計算三角形減少的個 數。
考察其中一組jt條平行線。 任取jt條平 行線中的 2 條, 再和剩下的(n − 2)條直線中
之任一條都不能組成三角形。 於是, 這些失去 的三角形的個數是
jt
2
(n−2)個, 對t求和, 其 個數一共是k
P
t=1
jt
2
(n−2) = (n−2)P
kt=1
jt
2
(3.2) 此外, 我們注意到, 在同一平行線族的jt條 平行直線中, 每 3 條平行線亦不能構成三角 形。 這些 3 線組數是j3t
, 但這類三線組在 (3.2) 式中已被重複算了 3 次, 故當有平行 線k條, 各有j1, j2, · · · jk條平行線時, 應減去 2 倍
j3t
。 對t求和, 失去的三角形總數應是
(n − 2)
P
kt=1
jt
2
−2P
kt=1
jt
3
(3.3) 因為 (3.1)(3.3) 式都表示同一個量, 故 得 n3
−m= (n − 2)P
kt=1
jt
2
−2
P
kt=1
jt
3
(3.4) (3.4) 式 是 一 個 關 於jt(t = 1, 2, · · · , k)的 不 定 方 程, 若 求 得 一 組 解j1, j2, · · · , jk, 便對應於一組符合題意的 直線安排。 從理論上, (3.4) 式的解是不易求 出的, 但我們從組合數學的觀點, 還是有辦法 求出具體問題的解來。一 個 很 自 然 的 想 法 是, 由
jt
3
=jt−2 3
jt
2
, 可以把 (3.4) 式化為僅含j2t
的 式子。 但是, 這樣一來, 在
j2t
的係數部份又 增加了變量jt, 增加了求解的困難。
現在, 我們考慮另一種算法。
把
j2
,
3j
列表如下:
j 1 2 3 4 5 6 7 8 9 10 11 12 · · ·
j 2
0 1 3 6 10 15 21 28 36 45 55 66 · · ·
j 3
=
(j−2)3 2j0 0 1 4 10 20 35 56 84 120 165 220 · · ·
表2
令x =
P
kt=1j2t
, y=
P
kt=1j3t
(3.4) 式變成 n
3
−m = (n − 2)x − 2y (3.5) 對於給定的n, m, 我們可先求不定方程 (3.5) 的非負整數解(x, y)。
由組合意義, 易見
P
kt=1j3t
≤
n
3
, 其 中P
kt=1jt = n, 故必有0 ≤ y ≤
n3
(3.6) 又由y = (n−2)x+m−(n3)
2 , 相應於不等式 (3.6), 有
0 ≤ (n−2)x+m−(n3)
2 ≤
n
3
,故得 (
n 3)−m
(n−2) ≤x ≤ 3(n3)−m
(n−2) , (n ≥ 3) (3.7) (3.6), (3.7) 式給出了非負整數解x和y的取 值範圍, 故理論上是能夠求出 (3.5) 的有限 組非負整數解(x, y)來。
下一步, 再對於 (3.5) 式的每一組符合 要求的解(x, y), 對照表2的
j2
,
j3
, 找出一 組正整數 (j1, j2, · · · , jk), 1 ≤ k ≤ n, 使
k
P
t=1
jt
2
= xk
P
t=1
jt
3
= yk
P
t=1jt= n
(3.8)
其中j1, j2, · · · , jk不必互異。
於是, (j1, j2, · · · , jk)(1 ≤ k ≤ n)便 是n條直線產生m個三角形的一種安排方案, 其幾何意義是,n條直線中有k組互不平行的 直線j1, j2, · · · , jk, 其中第t組直線由jt條平 行線所組成。
因為當k > 5時,
k3
>
k2
, 故在求 (3.8) 式的解時, 應先以
3j
的一行湊起, 對 照表 2, 一組滿足 (3.8) 式的正整數是不難組 合而成的。
現舉例如下:
例1. n = 5, m = 7 解: 由(3.5) 式, 得
53
−7 = 3x − 2y
即 3x − 2y = 3 (3.9) 易見, 要保證y是整數, x必須是奇數, 且由不 等式 (3.6), (3.7) 有1 ≤ x ≤ 7, 0 ≤ y ≤ 10。
由 (3.9) 式得符合要求的非負整數 解(x, y) 如下
x 1 3 5 7 y 0 3 6 9
檢查上面 4組解, 我們發現, 對解 (1, 0) 有
j1 = j2 = j3 = 1, j4 = 2, 使
12
+12
+
12
+
22
= 1 1
3
+13
+
13
+
23
= 0
1 + 1 + 1 + 2 = 5
於是, 平面上5條直線, 要交出7個三角形, 必 須有且僅有一對平行線。(如圖 3)
圖3 例2. n = 8, m = 18 解: 由(3.5) 式得
83
−18 = (8 − 2)x − 2y
即 3x − y = 19 (3.10) 由不等式 (3.6), (3.7) 得非負整數解x, y的範圍是7 ≤ x ≤ 25, 0 ≤ y ≤ 56。
由 (3.10) 式得到非負整數解(x, y)如下 表
x 7 8 9 10 11 12 13 14 15 16 17 y 2 5 8 11 14 17 20 23 26 29 32
x 18 19 20 21 22 23 24 25 y 35 38 41 44 47 50 53 56
易見, 對 (7,2) 有j1 = 2, j2 = 3, j3 = 3使
22
+32
+
32
= 7 2
3
+33
+
33
= 2 2 + 3 + 3 = 8
故 (2, 3, 3) 是其中一解。 又, 不難檢驗, 其餘 18 組解, 均不能找出合乎方程組 (3.8) 的 (j1, j2, · · · jk)。 故要由平面上的 8 條直線 產生 18個三角形, 當且僅當有3組平行線 (各 組平行線數分別是 2, 3, 3) 相交而成。(如圖 4)。
圖4
現在, 我們沿用 Fourier 的十七線問題, 給出另一個例子。
例3. n = 17, m = 275 解: 由 (3.5) 式, 得
173
−275 = (17 − 2)x − 2y即 15x − 2y = 405 (3.11) 易見, x必為奇數。 由不等式 (3.6), (3.7) 得 27 ≤ x ≤ 117, 0 ≤ y ≤ 680
(3.11) 式對應有45組非負整數解(x, y) (略)。 經檢驗,
(33, 45) 有對應解(j1, j2, j3, j4, j5)
= (1, 2, 2, 5, 7)
(35, 60) 有對應解(j1, j2, j3, j4, j5, j6) = (1, 1, 1, 2, 4, 8), 按此兩組作出的 17 條直線 恰好交出 275個三角形。(見圖 5)
(1,1,1,2,4,8)
(1,2,2,5,7) 圖5
4. 由極端情形驗證方法
在數學中, 要確認一個公式或方法正確 與否, 當然可以用計算的結果來驗證。 但是, 對於組合問題的結果, 由於數字較大, 往往不 容易直接檢驗。 於是, 我們可以考慮極端的情 形與實際是否一致。
我們考察直線交出三角形問題的極端情 形。 當m =
n3
時, 交出的三角形個數應 是
n
3
, 而當m = 0時, 直線不交出任何三角 形。 我們驗證一下 (3.4) 式的結果與幾何直 觀是否一致。當m =
n3
, 由 (3.4) 式得 0 = (n − 2)
P
kt=1
jt
2
−2P
kt=1
jt
3
(4.1)即
P
kt=1
jt
3
=P
kt=1(n2 −1)
j2t
(4.2) 又因為
P
kt=1
jt
3
=P
kt=1 jt−2
3
jt
2
故 (4.2)變為
P
kt=1(n2 −1)
j2t
=
P
kt=1 jt−2
3
jt
2
注意到上式各項非負, 故必有
n
2 −1 = jt−23 , t = 1, 2, · · · , k (4.3) 或
jt
2
= 0, t = 1, 2, · · · k,k
P
t=1jt = n (4.4) 若 (4.3) 成立, 則jt = 3n2 −1 > n (因n ≥ 3), 矛盾!
若 (4.4) 成立, 得j1 = j2 = · · · = jn = 1。 顯見
12
+12
+ · · · +
12
= 0 1
3
+13
+ · · · +
13
= 0
滿足 (4.1) 式且
n
P
t=1
jt=
P
nt=11 = n。
這時, 即n條直線無兩條平行。
當m = 0, 即n條直線不交出任何三 角形。 從幾何直觀易見, 這時n條直線所分的 平行線族必須不多於 2 族。 下面, 我們試用 (3.4) 式驗證: 若有非負整數j1, j2使
j1+ j2 = n,
則 m = 0 。(當然, 嚴格來說, 還須驗證, 若
P
kt=1jt = n中至少有 3 個正數jt, 則m >
0)。
事實上, 由 (3.4) 式, 右邊
(n − 2)[
j21
+
j22
] − 2[
j31
+
j32
]
= n[
j21
+
j22
]−2[
j31
+
j21
+
j32
+
j22
]
= n[
j21
+
j22
] − 2[
j13+1
+
j2+13
]
= nj21+j222−n−2j13+j3!32−n
= nj21+j222−n− n(j
2
1−j1j2+j22)−n 3
= n6(3j12+ 3j22−3n − 2j12 +2j1j2−2j22+ 2)
= n6[(j1+ j2)2−3n + 2]
= n6(n2−3n + 2)
= 16n(n − 1)(n − 2) =
n3
。 於是, 由 (3.4) 式 n
3
−m=
n3
得 m= 0, 這與直觀的幾何意義一致。
最後, 需要指出的是, 平面上放置n條直 線使之交出m個三角形, 並不總是有解的。 試 看下列
例4. n = 5, m = 2
解: 由(3.5) 式, 得
52
−2 = (5 − 2)x − 2y 得 8 = 3x − 2y
顯見, x必須是偶數。 由 (3.6), (3.7) 式 得
4 ≤ x ≤ 8, 0 ≤ y ≤ 10。
解(x, y)如下
x 4 6 8 y 2 5 8
由表 2 不難驗證, 上述 3 組解中, 沒 有一組能找出j1, j2, · · · , jk使之滿足方程組 (3.8)。 故此題無解。 事實上, 讀者可在平面上 直觀地驗證, 其幾何意義亦是頗為明顯的。