Pattern-based constraint satisfaction and logic puzzles — Denis Berthier