15
$\begingroup$

The usual rules of sudoku apply: each row and column must have one of each digit; plus, if you divide the whole nine-by-nine grid into nine three-by-three subgrids, then each subgrid has one of each digit. Special for this sudoku, though, some areas are heavily outlined; each of these must contain precisely the digits printed in it, with the same multiplicity.


By request, the blank grid:

$\endgroup$
4
  • $\begingroup$ Check out Penpa (swaroopg92.github.io/penpa-edit). Works perfect for these type of puzzles. $\endgroup$
    – npkllr
    Commented Dec 17, 2020 at 17:40
  • $\begingroup$ Is there a reason why the answer has not been accepted? $\endgroup$
    – ACB
    Commented Jan 12, 2023 at 18:35
  • $\begingroup$ @ACB it leaves us hanging midway. $\endgroup$
    – msh210
    Commented Jan 12, 2023 at 20:08
  • $\begingroup$ Penpa+ link $\endgroup$
    – ACB
    Commented Jan 13, 2023 at 13:32

2 Answers 2

9
$\begingroup$

This is my solution:

solution

My approach was fairly simple:
1. Note down the possible digits for each cell, according to the rules.
2. Solve it like a usual Sudoku.

Here are the basic steps:

Put all the possible digits in the outlined areas according to the question:
enter image description here
Digits that appear multiple times inside one area and therefore must exist at a specific position:
enter image description here
Following the general Sudoku rules (specificly: unique digits in column, row and subgrids):
enter image description here
Some more deduction using the general Sudoku rules:
enter image description here
Continue to solve the Sudoku.

$\endgroup$
13
  • 2
    $\begingroup$ Could you provide any more detail for your solution path? Even just some key deductions with pictures would be nice. Solutions to [grid-deduction] questions are generally expected to explain their solution path. $\endgroup$
    – bobble
    Commented Dec 17, 2020 at 17:45
  • $\begingroup$ @bobble Yes, I thought about that. But I actually did nothing more than draw a blank Sudoku, put all the possible digits in the outlined areas according to the question, and then solved the puzzle like a normal Sudoku. $\endgroup$
    – npkllr
    Commented Dec 17, 2020 at 17:49
  • $\begingroup$ Would it be possible to show any interesting steps, or even just several picture of intermediate states? $\endgroup$
    – bobble
    Commented Dec 17, 2020 at 17:50
  • 1
    $\begingroup$ @npkllr, yes this is better. Thank you for adding more explanation $\endgroup$
    – bobble
    Commented Dec 17, 2020 at 18:31
  • 1
    $\begingroup$ @JeremyDover I added an answer that describes the constraint programming formulation. $\endgroup$
    – RobPratt
    Commented Dec 17, 2020 at 20:49
1
$\begingroup$

You can solve the problem via constraint programming as follows. For each cell $(i,j)$, let integer decision variable $x_{i,j} \in [1,9]$ be the digit that appears in that cell. The usual sudoku rules yield 27 ALLDIFF constraints, one per row, column, or 3-by-3 box. For example, the ALLDIFF constraint for row 1 is $$\operatorname{ALLDIFF}(x_{1,1}, x_{1,2}, x_{1,3}, x_{1,4}, x_{1,5}, x_{1,6}, x_{1,7}, x_{1,8}, x_{1,9}),$$ the ALLDIFF constraint for column 1 is $$\operatorname{ALLDIFF}(x_{1,1}, x_{2,1}, x_{3,1}, x_{4,1}, x_{5,1}, x_{6,1}, x_{7,1}, x_{8,1}, x_{9,1}),$$ and the ALLDIFF constraint for the top left 3-by-3 box is $$\operatorname{ALLDIFF}(x_{1,1}, x_{1,2}, x_{1,3}, x_{2,1}, x_{2,2}, x_{2,3}, x_{3,1}, x_{3,2}, x_{3,3}).$$ For each of the 18 regions, there is also a global cardinality constraint (GCC). For example, the central plus-shaped region requires $$\operatorname{GCC}(x_{3,5}, x_{4,5}, x_{5,3}, x_{5,4}, x_{5,5}, x_{5,6}, x_{5,7}, x_{6,5}, x_{7,5}; \{(2,1,1), (3,1,1), (4,1,1), (5,1,1), (7,1,1), (8,2,2), (9,2,2)\}).$$ The interpretation is that the seven variables in the first argument must together take the values 2, 3, 4, 5, and 7 once each and the values 8 and 9 twice each.

$\endgroup$
3
  • $\begingroup$ I don't think a programming answer is helpful when the given puzzle is already shown to be solvable by hand with logic. $\endgroup$
    – Bubbler
    Commented Dec 17, 2020 at 23:48
  • $\begingroup$ Hmm, I thought multiple approaches were encouraged. $\endgroup$
    – RobPratt
    Commented Dec 18, 2020 at 14:20
  • 3
    $\begingroup$ @Bubbler I see your point, but this is not just "I wrote a python script". Rather it is a mathematical formulation that I appreciate learning more about. $\endgroup$ Commented Dec 19, 2020 at 16:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.