Solves and creates generalized knight-knave puzzles.