A knight's tour is a sequence of knight moves on a chessboard such that every square is visited exactly once. With Prolog, we can easily express different models of this task, yielding different amounts of pruning power. Powerful global constraints such as circuit/1 reduce the search space significantly, and allow us to find solutions with a short and general program.
The code is available from: https://www.metalevel.at/knight/