# Puzzle 11: Masyu

Next in the series of slightly deficient Masyu. Enjoy, nonetheless.

# Puzzle 10: Araf

This was meant to be an easy Araf puzzle.

Rules Split the grid into orthogonally connected areas, such that each area contains exactly two clue cells, and such that the size of each area lies strictly between the values of the two clues that it contains.

# Puzzle 9: Domino Extra

Rules Find the whole set of dominos with numbers 1 to 6 by dividing the grid into orthogonally connected areas with two digits each.

This variation on the standard Domino puzzle featured on the Dutch round of last year’s WPC, there’s some more on Bram’s blog.

There should be two quite different ways to get started on this one.

# An excursion into logic programming: Solving a word puzzle with Mercury

I recently had the need to check a couple of puzzles that were geared towards intuitive solving, and consequently tricky to prove correct by hand. Luckily enough, Nikolai Beluhov posted an excellent Curve Data solver at just the right moment, allowing me to fix one broken puzzle. For the other, I took the chance to finally play around with logic programming. Prolog is likely the best-known language from this domain, but I went with Mercury, which is quite close to Prolog, but adds a couple of nice things like a static type system.

The project was quite successful: It solved the problem and was a lot of fun. Unfortunately, the solver turned out a little too complex to fit into a blog post, largely due to the complexity of the puzzle type. Thus, I decided to break it down to a way simpler (simplistic, even) puzzle, with the option of presenting the full solver in a second post.

Here’s the puzzle: Write the word “PUZZLE” in the grid by placing letters in some empty cells. The word may read in any of the eight horizontal, vertical or diagonal directions.

Below, we’ll develop the solver step by step.