A Euclid game is an impartial game based on subtraction steps of the Euclidean algorithm.[ref]
A Game Based on the Euclidean Algorithm and a Winning Strategy for It by A. J. Cole and A. J. T. Davie. Original paper introducing Euclid; terminal convention is specified explicitly below
Here use the following normal-play convention: a position is an ordered pair ; if , remove a positive multiple from and reorder. A position with has no legal move and is losing. Thus moving to a zero coordinate wins; variants that instead stop at equal positive coordinates require a different endpoint convention.The sum of the coordinates strictly decreases, so every play terminates. If divides , subtract and win immediately. If , there is only one move, to , so the position has the opposite winning status from that successor.
If with and , two legal choices leave or . The latter has exactly one move, to the former, so exactly one of these two successors is losing. Choose it. For example, is losing because its only move reaches , where the opponent takes the whole larger coordinate. From , subtract to leave that losing position. These cases give a recursive strategy without exploring every subtraction amount.
New to topics? Read the docs here!