方針
直線上で隣り合う格子点への移動を互いに素な整数の組で表す。3点を含むには同方向へ2回移動できる必要があるので、である。では水平・垂直・傾きだけ、ではさらに傾きだけが候補になる。各方向について正方形内に入る直線の本数を数える。
解答
直線上で隣り合う格子点への基本移動をとする。ただしは整数で、共通の正の約数をもたないものとする。3点以上を通るならが正方形内に入る向きを選べるのでが必要である。
(1)
では(1)よりである。したがって候補は水平、垂直、傾きだけである。水平線は3本、垂直線は3本、二つの対角方向はそれぞれ1本だから(2)
でも(1)からであり、方向は同じ4種類だけである。水平4本、垂直4本である。傾きの直線はのうちの3本、傾きも対称性により3本なので(3)
ではである。を互いに素に取ると、水平・垂直以外の傾きはに限られる。
水平・垂直はそれぞれ5本である。傾きはでの5本、傾きも5本である。傾きでは3点はの形で、の3本である。傾きも座標を入れ替えて3本、符号を負にした二方向もそれぞれ3本である。したがって格子で新たに現れる基本方向はとその反転。
別解
解法2(直線の方程式を列挙する別解)
方針
3点以上を通る直線の傾き候補を、横方向の差と縦方向の差がともに以下であることから絞る。その後、各傾きについて切片を整数条件から直接列挙する。方向ベクトルではなく直線の方程式を表にするので、同一直線の重複がないことを確認しやすい。
解答
(1)
格子では、3点を通るために端から端までの座標差が必要である。該当する直線はの8本なので(2)
格子では、水平・垂直が各4本である。斜めはの3本と、その左右反転である傾きの3本だけである。傾きの分子または分母の絶対値が2以上なら、3点で必要な2回分の移動が4以上となり、幅3に収まらない。よって(3)
格子では、3点の間の2回分の基本移動が幅4に収まる必要がある。互いに素な座標差から、水平・垂直以外の傾きはだけである。
傾きについてはの5本である。傾きについてはの3本、傾きについては座標交換により3本である。負の傾きは正方形の左右反転で同数だからとなる。
総評
数え落としを防ぐ鍵は、傾きを既約な基本移動で分類することである。例えばは傾き1の新しい方向ではなくと同じ直線族を表す。3点以上なら基本移動を2回できるためが必要で、この条件が「他の傾きはない」という論証になる。の傾き2は、3点が縦幅4を使い切るので始点の座標は1に固定され、横の始点だけが1,2,3の3通りである。傾きごとの本数を合計すると32となり、直線方程式による列挙とも一致する。