Refreshing my knowledge of logic puzzles by programming them for fun.