Logic-puzzle solver