Puzzles - CalcuDoku

For those of you who are not familiar with the CalcuDoku puzzles, here is one:

Actually, this is the very first CalcuDoku I generated (with pseudo-random seed set to 1). At the newsagent, you will find that CalcuDoku is sometimes called KenKen® (registered trademark of Nextoy, LLC).

Like with Sudoku Classic, each row and each column must contain the digits from
1 to 9 without repetitions. The difference is that the boxes and clues of
Sudoku have been
replaced with *cages*, results, and operations. For example, the two-cell
cage in the top-left corner of the puzzle contains the result "3" and the
operation ":" (which stand for "divide"). This means that you have to fill the
cage with two digits (one in each cell) that, when divided by each other,
give 3 as a result. To determine which one of the possible six combinations
(9 3), (3 9), (6 2), (2 6), (3 1), and (1 3) is the correct one, you have to
look at the other cells in the intersecting rows and columns.

In the example, the fifth cell of the leftmost column contains the result "3" without any operation. This means that the cage is a trivial one, and you can immediately write 3 in its only cell. As a result, four of the six candidate pairs for the cage in the top-left corner can be eliminated, and only (6 2) and (2 6) remain as possible alternatives.

Obviously subtractions and divisions are only possible in two-cell cages, while sums and multiplications can appear in any non-trivial cage.

CalcuDokus turned out to be more tricky to generate than Sudokus. This is because there are many more parameters to be taken into account. With the wrong combination of parameters, you generate puzzles that are too difficult to solve because one or more cages have too many possible solutions.

The only way to avoid this problem (at least, the only way I have found) is to adjust the relative frequency of the cage sizes and introduce ad-hoc limits.

One of the challenges I encountered when attempting to generate CalcuDokus was the layout of the cages. I had to develop an algorithm to 'grow' the cages in such a way that only very few individual cells were left out. In the example, you will notice that there are three single-cell (i.e., trivial) cages. This is the maximum my generating program allows.

Currently, my program only generates 9x9 CalcuDokus, but CalcuDokus exist of several sizes, from 4x4 to very large puzzles in which letters replace or are used in addition to digits.

If you need CalcuDoku puzzles, don't hesitate to contact me at the email address that you find on the home page.