
The Miracle Sudoku [video] - eigen-vector
https://www.youtube.com/watch?v=yKf9aUIxdb4
======
aidos
I almost didn’t watch that’s because who cares about someone solving a sudoku
puzzle, but that was brilliant.

That’s one happy solver; it was worth it just for the absolute joy he gets
from it. Amazingly quick solving too. Good to watch him develop extra
strategies during the process.

~~~
matsemann
Yeah, I liked how he realized two possibilities for a number that were next to
each other, also meant the box around it could be cleared.

I really enjoy finding patterns like these in constraint games. After
confirming the pattern for myself a number of times, the brain later just does
it on autopilot. If people have tips for similar games I would be happy to try
them.

Edit, my tips: Simon Tatham's Puzzle Collection [0] has lots of them. Apps
exists for mobile devices as well. Everett Caser [1] also have lots of logic
games where one can learn patterns. I've played Sherlock and Honeycomb, and my
favorite is Willa's Walk. They look a bit funky, but the apps work fine on
Android.

[0]:
[https://www.chiark.greenend.org.uk/~sgtatham/puzzles/](https://www.chiark.greenend.org.uk/~sgtatham/puzzles/)
[1]: [http://www.kaser.com/ww.html](http://www.kaser.com/ww.html)

~~~
kadoban
If you're into that feeling, learning a game like go might be something you'd
enjoy. There's other parts to the game, but finding clever tactical moves is a
huge rush of that.

There's also books and sites with "go problems", chosen puzzle positions, for
a quick fix (but only after you know the game a bit).

~~~
tasuki
Hey I made a website with books full of go problems. It's become quite
popular: [https://tsumego.tasuki.org/](https://tsumego.tasuki.org/)

It's non-interactive not just because I'm lazy, but also there's some
reasoning for why you should solve problems rather than click around and
randomly try things out :)

~~~
kadoban
Thanks for your site! I've been there before. I really like the Cho problems.

~~~
tasuki
Cho Chikun is the popular one. My favourite is Gokyo Shumyo!

------
jmiskovic
The lightning speed of his observing standard rules across the board is
impressive but expected after months of practice. The agility with which he
picks up new rules and starts working with them is sign of a beautiful mind.
This was a pleasure to watch.

~~~
andrelaszlo
It's really impressive to me how clearly he articulates what is going on in
his head while solving.

~~~
techslave
that’s my favorite part. not that he can solve it, but that he articulates the
process, seemingly at full speed and totally relaxed.

reminds me of race car drivers that do live narration

------
zwegner
In case anybody sees this comment before the video: I'd highly recommend
trying to solve the puzzle yourself. After you see the rules stated in the
video, click the link in the info. It took me a bit longer than this guy, but
it was a very fun puzzle.

~~~
thom
I'd never done sudoku before and was a little disappointed to find it was so
mechanistic. I'd sort of expected there to be some degree of exploration and
backtracking, or perhaps having to solve multiple digits simultaneously while
attempting to keep it all in your head. Is this puzzle representative of
normal sudoku puzzles or do the additional constraints change it?

~~~
rtpg
Basically the challenge is in finding the thought process that leads you to an
answer.

The kinds of puzzles done on this channel tend to be pretty tough. the
designers of the puzzle usually make it so that there's really one good path
for solving (and brute forcing _really doesn't work_ relative to thinking hard
about the problem).

There's a lot of stuff going on in this puzzle that's not at all present in
normal sudoku, and things like "OK let's try and look for where _all the 3s
could be at once_" is easier said than done.

~~~
thom
I guess to me if still _feels_ a bit like brute force. You just go over all
the squares and all the rules in a loop, adding and eliminating possible
digits. There don't seem to be any sticking points where it's not clear how to
make progress.

~~~
GreedCtrl
The "exploration and backtracking" you mention originally is the brute force
method of solving sudoku by computer: recursive backtracking. If you want an
example of sticking points, I'd recommend the Robin Hood sudoku:

[https://www.youtube.com/watch?v=pdtWTg4LrqQ](https://www.youtube.com/watch?v=pdtWTg4LrqQ)

It can be brute forced with enough patience, but the fun for me comes in
developing intuition on where to look next. The hints of a sudoku have
meaning: they lead to the completed grid. Finding the next step in the puzzle
amounts to understanding some of its construction.

~~~
thom
I guess the bit I'm missing is why the miracle sudoku (the two I can find) are
special. As far as I can tell, they don't require any intuition at all, you
just sit down and work through the rules that are right in front of you.
Surely they're much easier than normal sudoku because of the extra rules? Are
they noteworthy because of the construction of the puzzle, rather than the
solving of it?

~~~
krajzeg
It's mostly about the construction. The "miracle" part refers to just two
clues (filled-in numbers) leading to a unique solution, which is a
ridiculously low number.

~~~
thom
Understood, thanks very much for explaining.

------
fredley
How on earth do you create a puzzle like that? Coming up with the rules it's
presumably simple to generate solutions with a computer program, but how do
you then work out the cells which need to be filled in order to not only
minimally describe a single correct solution, but also leave a reasonable
deductive pathway to that solution?

I think that's what boggles me most about this, the deductive pathway that's
been created by the puzzle creator is a complete joy in its unfolding.

~~~
chongli
Sudoku at its heart is a graph colouring problem. When you add the new
constraints, it changes the connectivity of the graph. This sudoku, with all
of its extra constraints, becomes a highly connected graph which greatly
reduces the number of possible valid puzzles. Throw in the fact that the grid
is already symmetric about both axes of reflection and rotationally symmetric
about the centre and that further constrains the set of valid puzzles.

I'm sure you could write a program to take all these constraints and generate
a ton of puzzles and then scroll through them to find ones that look great. It
also wouldn't be too difficult to sort them in ascending order of givens.

~~~
GreedCtrl
Speaking of great-looking puzzles, this youtube channel covered a visually
stunning pi day sudoku some time ago. As you said, it uses extra constraints
to reduce connectivity, but still, I find it amazing that the digits of pi can
fit so well into a puzzle. (Pi begins at the top and moves clockwise.)

    
    
        +-----v-----+
        |   |431|   |
        |  8|   |4  |
        | 3 |   | 1 |
        |---+---+---|
        |2  |   |  5|
        |3  | 6 |  9|
        |9  |   |  2|
        |---+---+---|
        | 7 |   | 6 |
        |  9|   |5  |
        |   |853|   |
        +-----------+
    

[https://www.youtube.com/watch?v=N41yZsxIsK8](https://www.youtube.com/watch?v=N41yZsxIsK8)

~~~
jansan
+1 for the great formatting.

------
Jestar342
This guys is my "ASMR" bedtime watching. I just love his overall demeanor and
child-like thrill from puzzle solving. I can be wired when I start his video
and by the end I'll be blissfully calm and head-clear. I think he has a
tremendous talent of focus. As other posters have said, he can spot
constraints so quickly. I still get a small kick out of spotting something
before he does, though. Doesn't happen often, mind.

~~~
pilsetnieks
I actually had to double check if Sean Lock
([https://en.wikipedia.org/wiki/Sean_Lock](https://en.wikipedia.org/wiki/Sean_Lock))
hadn't taken up a new hobby of solving sudokus on youtube, he both looks and
sounds incredibly similar.

------
glenvdb
My favourite part is his own disbelief as he ... spoiler ... continues to
solve it.

A few minutes later... when the first three on the board causes a cascade of
solvable cells after a build up of deduction. Amazing.

~~~
accidentalrebel
He also said he was closed to ending the recording because he thought he was
being trolled by the creator.

It was fun seeing him slowly realize that it was not a joke at all.

~~~
msoucy
I once spent an hour trying to solve a sudoku puzzle on a whiteboard in
college. It turned out that the person who left it there made a mistake when
they started to solve it, so given the state it was in when I started (no way
to tell what was original and what was their deduction) it was impossible to
solve.

I'm not bitter, of course not.

------
nickysielicki
Here's a solver in python with z3:
[https://gist.github.com/sielicki/fd86d68733133f654128519b3c4...](https://gist.github.com/sielicki/fd86d68733133f654128519b3c4e12c2)

(note, most of the code coming from here, I just slopped together the
additional constraints, [https://ericpony.github.io/z3py-tutorial/guide-
examples.htm](https://ericpony.github.io/z3py-tutorial/guide-examples.htm) )

    
    
        $ time python3 game.py
        [[4, 8, 3, 7, 2, 6, 1, 5, 9],
         [7, 2, 6, 1, 5, 9, 4, 8, 3],
         [1, 5, 9, 4, 8, 3, 7, 2, 6],
         [8, 3, 7, 2, 6, 1, 5, 9, 4],
         [2, 6, 1, 5, 9, 4, 8, 3, 7],
         [5, 9, 4, 8, 3, 7, 2, 6, 1],
         [3, 7, 2, 6, 1, 5, 9, 4, 8],
         [6, 1, 5, 9, 4, 8, 3, 7, 2],
         [9, 4, 8, 3, 7, 2, 6, 1, 5]]
        python3 game.py  7.47s user 0.15s system 97% cpu 7.801 total

~~~
carapace
FWIW, "Boring Sudoku" a solver in Prolog w/ CLP(FD):

[https://swish.swi-prolog.org/p/Boring%20Sudoku.swinb](https://swish.swi-
prolog.org/p/Boring%20Sudoku.swinb)

\- - - -

I don't mean this in a critical way, just an observation. To me the video was
boring because watching a human do machine work is frustrating (to me). (As
fast and as clever as that fellow is, he's still _so slow_ compared to a
computer.)

However, designing elegant constraint rules to encode the special constraints
of this puzzle _is also a puzzle_ , and _that_ puzzle seems interesting to me.
(Although not very because it's not _that_ challenging.)

I have the same problem with most video games: after playing just a little
while I get bored and want to reprogram the game itself instead of just
playing it.

Do y'all feel me, or am I just a freak?

~~~
nickysielicki
That's cool, but that doesn't solve this puzzle. It's just a normal solver
unless I'm missing something.

~~~
carapace
You're correct.

Adding constraints that encode the additional rules is also a little puzzle,
eh?

I'll probably work on it later this evening for fun.

------
acangiano
25 minutes you'll be okay with never getting back.

~~~
jurmous
You can also if you want turn the playback rate up of the video and have the
same satisfaction in half the time :)

~~~
the_duke
I recently started increasing playback speed on many videos I watch. It's
really hard at first, but I quickly got used to it, to the point where I now
use an addon to increase playback speed to 3-6x where appropriate.

When there's something complicated, or something I want to enjoy and savior, I
jump back and slow down.

This is an incredible time saver.

I got inspired to do this by observing a blind programmer use a screen reader
with insane speeds.

~~~
JackDrury
which addon are you using for speedup?

~~~
Hitton
Enhancer for YouTube can do that, but you can also do it with simple
userscript. The userscript I found somewhere few years ago:

    
    
      // ==UserScript==
      // @name         Mediabord
      // @version      01.1
      // @description  tryd to take over the world!
      // @author       j
      // @match        *://*/*
      // @grant metadata
      // ==/UserScript==
      
      document.addEventListener('keydown', function(event) {
          var vidz = document.querySelectorAll('video');
          function is_text_box(element){
              var tagName = element.tagName.toLowerCase();
              return  tagName === "textarea" || tagName === "input";}
          if(is_text_box(event.target))
              return false;
          vidz.forEach(vidz => {
              switch (event.keyCode) {
                  case 221: // (])
                      vidz.playbackRate+=0.25;
                      break;
                  case 219: // ([)
                      vidz.playbackRate-=0.25;
                      break;
                  case 220: // (\)
                      vidz.playbackRate = 1;
                      break;
                  case 83:
                      vidz.currentTime+=3;
                      break;
                  case 65:
                      vidz.currentTime-= 3;
                      break;
              }
      
          });
      });

~~~
unkulunkulu
Wait, what? Youtube has builtin control for that for years, behind the cog
wheel at the bottom right of the video.

~~~
hummusandsushi
They're using the addon to be able to get 3x and 6x speedups, which are not
available by default.

------
js2
"Once you eliminate the impossible, whatever remains, no matter how
improbable, must be the truth."

Impressive work from a board that initially appears too open-ended to solve
but turns out to have sufficient constraints.

Well worth watching. (Aside: the solver reminded me oddly of Professor
Falcon.)

~~~
andretti1977
Oh my gosh Professor Falcon!!! You reminded me of those times when as a kid i
wad so excited and inspired by that movie!

------
jcims
This is clicking on an existential level for me.

Lex Fridman's podcasts in particular have been sort of forking in two
directions lately, one on artificial intelligence, consciousness and just a
somewhat muted wonder how the human mind operates and our present lack of
understanding of how it comes together systematically to create our
experience. The other is about physics and how the experimental and
theoretical come together to try to give us a better understanding of the
fabric of our universe.

For this video, in the former case it shows how plastic the mind can be. I'm
probably about the same age as the guy in the video and honestly have been
struggling with an experience of cognitive decline lately. To see how adaptive
the brain is to not only develop grooves that accelerate analysis in the long
form, but also adapt to new rules and constraints almost as quickly is really
quite remarkable (and for me personally, encouraging).

His quick pattern analysis at the end uncovered the second case for me. This
is obviously something we've seen in many other situations as well, but how a
collection of 'particles' with multi-dimensional constraints can form order
and even crystalline structure from almost nothing.

Very fun video to watch. Thanks for sharing.

------
jianshen
There is something irreplaceable about the first time you solve a difficult
puzzle, especially one that you anticipate to be daunting. As a Sudoku
enthusiast (though not at Simon's level) this was surprisingly vicarious to
watch for what's usually a silent solitaire experience. Well done!

------
glandium
For some reason this video ended up in my Youtube recommendations last week,
and I clicked on it because the thumbnail caught my attention. Didn't regret
it, and I've watched a few others. Another that was pretty interesting in the
development of techniques to approach it:
[https://youtu.be/Zk4qNEDXFSw](https://youtu.be/Zk4qNEDXFSw)

Edit: Ah no, the first I saw was actually
[https://youtu.be/hAyZ9K2EBF0](https://youtu.be/hAyZ9K2EBF0) which has a
diagonal rule, and a magic square in the middle.

------
this_is_not_you
Now I want a making-of video by the creator of the Sudoku.

~~~
redcodenl
I wonder how much of that is programmed/automated and how much work is still
being done manually...

Backtracking and eliminating numbers can be easily automated.

~~~
Fiahil
I made a sudoku solver back when I was in school. It's quite simple and almost
a textbook case for backtracking. Even brute-force algorithms are
instantaneous on the hardest puzzles.

~~~
ben-schaaf
I'm still mesmerized by the 15-line prolog sudoku solver:
[http://programmablelife.blogspot.com/2012/07/adventures-
in-d...](http://programmablelife.blogspot.com/2012/07/adventures-in-
declarative-programming.html)

~~~
conistonwater
It's just using a library, you can get the same effect in any language with a
constraint satisfaction library.

~~~
redcodenl
Completely agree here, the entire 'solver' is a library there.

However, it does show how cool and versatile SAT solvers are for people who
haven't used or seen them yet.

------
carlob
At the beginning I was wondering whether 9 and 1 were to be considered
consecutive. It's not stated anywhere, but it seems that the solution has this
property.

------
yesbabyyes
This was great fun! They have a new miracle sudoku[0] up since a couple of
days, as well. Seeing him color the potential twos (aside from two wrongly
colored squares) and then piece by piece ruling them out almost looked like a
game of life, with new patterns emerging.

[0] [https://youtu.be/Tv-48b-KuxI](https://youtu.be/Tv-48b-KuxI)

------
adenozine
I get the feeling that he would be a very impressive programmer.

------
dathinab
It did the follow up sodoku (a new miracle sodoku), which I think probably is
a bit easier as it starts with 3,4 in a slightly more useful constellation.

I have to say while I'm not the biggest fan of normal sudokus the ones with
extra rules are quite interesting.

And the cracking the cryptic channel has quite a bunch of such sudokus.

------
louisch
Ever since seeing this video I've been wondering if there's some deeper
mathematical basis for this puzzle, because of the extremely regular pattern
that it happens to produce.

For example, the way consecutive digits are actually in order, but separated
by a single square (and looping around the edge of the board)

~~~
macintux
See this thread (disclaimer: I have zero clue to its accuracy).

[https://twitter.com/NikhilBukowski/status/126262285333933670...](https://twitter.com/NikhilBukowski/status/1262622853339336704?s=20)

------
billme
Here’s link to the puzzle:

[https://cracking-the-cryptic.web.app/sudoku/tjN9LtrrTL](https://cracking-the-
cryptic.web.app/sudoku/tjN9LtrrTL)

About the guide to controlling the interface for the game:

[https://cracking-the-cryptic.web.app/how-to-play](https://cracking-the-
cryptic.web.app/how-to-play)

(Links are little odd, if you want to find them yourself, just click the
YouTube, view the video description, it’s the top link.)

------
swyx
I was just thinking the other day how I've never seen a YouTube video at the
top of HN. along comes this video to prove me wrong.

------
busterarm
I immediately saw what the full pattern was when he had half the 2s filled in
and was wondering if he saw it and kept going through the solution for the
purposes of the video, or didn't see it at all until the end.

That never ended up becoming clear and now I'm just left wondering.

~~~
SamBam
Unsure what you mean by "the full pattern." Do you mean you could work out
what the entire grid was, from just half the twos alone?

~~~
busterarm
The twos and the existing ones. I made a reasonable guess that proved to be
correct.

All the twos had symmetry and can be plotted on the grid like a tile
pattern...and every increasing number in a row is two positions to the left of
the lower number. It was blatant at that point in the vid.

Right at around 12:14 and then confirmed by the 18 minute mark.

------
tudorizer
Not a big sudoku fan, but wow! I might have under-estimated how exciting it
can be.

------
mywacaday
and we have rotational symmetry! brilliant!

------
swah
How do know if a certain puzzle is impossible (ie malformed)?

~~~
matsemann
That is a "decision problem": Does this puzzle have a solution?

For Sudoku, that's easy to verify. That makes it an NP-problem. But for
Sudoku, finding a solution is very difficult, so difficult that we say it's
NP-Complete. So the only way to verify that a Sudoku can be solved, is really
to try a bruteforce (potensially sped up with guesses/backtracking) and then
find out if you cannot continue because of a broken constraint somewhere.

~~~
matsemann
> _For Sudoku, that 's easy to verify._

I meant: For Sudoku, it's s easy to verify that a given solution is correct.
(cannot edit)

Of course, being given the solution first in order to even try, can be a bit
boring. For that, there exists "zero-knowledge proof" where one can reveal one
knows an answer, without actually divulging it. Here is a writeup about
someone doing that for Sudoku:
[https://manishearth.github.io/blog/2016/08/10/interactive-
su...](https://manishearth.github.io/blog/2016/08/10/interactive-sudoku-zero-
knowledge-proof/)

------
billfruit
Any other puzzles with deep deductive reasoning where one can get better at
through playing. One comes to mind: hexcells, any others?

~~~
yesenadam
There's a whole world of chess composition/problems. You can even be a
grandmaster chess composer or solver. Some composers are legendary in the
chess world, e.g. Troitzky, Sam Loyd, Kubbel. Chess problems come in various
kinds, and are a bit like cryptic crosswords - they seem impossible at first
but there are customs, tricks, conventions which make them easier with
experience. "The role of aesthetic evaluation in the appreciation of chess
problems is very significant, and indeed most composers and solvers consider
such compositions to be an art form."

[https://en.wikipedia.org/wiki/Chess_problem](https://en.wikipedia.org/wiki/Chess_problem)

~~~
billfruit
What would be a good book to get into chess problems and the
culture/aesthetics of them?

~~~
yesenadam
Sorry, I wouldn't know.

------
tshanmu
puzzles and progamming - two of the best ways to while away the time.

------
ropable
This video was just fabulous to watch.

------
residualmind
[https://www.google.com/search?q=483726159](https://www.google.com/search?q=483726159)

------
SubiculumCode
As a college project in C, we were to write a soduku solver. Smart people
solved it by programming in fancy heuristics. Not being smart, I just brute
forced it...though I tried to be fancy by representing the data at the bit
level. I doubt it made it any faster lol.

That said, when the hardest Soduku problems in the world succumbed to a brute
force search to my lame program in less than a few something something ms, I
kind of shrugged at the fancy methods. But I suppose that is why I'm still
just a mediocre programmer :)

The brute force method was basically move forward until you hit a dead end,
backtrack, go forward again until you hit another dead end, etc.

Edit: I'm not being dismissive of people who implemented better solutions.
Honestly, at the time I was amazed at their skill. But I still chuckle just
because the problem is trivially sized for brute force methods, and would have
to be scaled much larger to actually make more sophisticated methods worth the
effort in any situation other than personal satisfaction and education. In a
business situation in which you do not expect the problem to scale, spending
more time for a sophisticated solver may not be worth the effort. But yes,
Soduku is for entertainment and R&R

~~~
shultays
I was discussing this with a friend. I too made a brute force sudoku solver.
It was somewhat smart since it was keeping track of what options are available
for each cell and updates those options as it puts/removes digits.

The friend told me he was working on a sudoku solver and was trying to explain
his non-brute force algorithm. I told him I did a solver back in collage and
it was basically instant even though it is brute force.

~~~
SubiculumCode
Amazing. I got down voted for my story. HackerNews does not like Mediocre
Programmers I guess lol.

I bet I could write a better algorithm today if I was motivated. Back then I
was not as experienced in programming, and I struggled with even figuring out
how to represent the data and the state. Its all about learning from where you
were at the time.

~~~
Marazan
It's more that solving Sudoku by Brute Force is easy.

But the trouble with brute force sudoku solvers is you can't use them to
create sudokus solveable by humans with a unique solution.

That's the fun stuff in writing a sudoku solver/generator.

~~~
shultays
Sure you can, just brute force your way to ensure there is only a single
solution. You can try all combinations and count how many reached to the end
and check if count == 1.

Generating sudokus while all you have a sudoku solver seems an interesting
challenge. Sounds like it can be done though, just a matter of creating random
boards by adding one digit at a time that doesn't break rules and check if #
of solutions is 1. I imagine even that would be fast enough, at least enough
to create sudokus at a reasonable rate that can supply entire human
population.

You can do anything given enough brute force!

~~~
Marazan
That doesn't guarantee you that you generate a Sudoku solveable without
backtracking.

The human techniques are all about forward actions only, never guesses.

~~~
shultays
Hmm I don't get what you mean. For a valid sudoku there shouldn't be any
guessing involved? So during any stage of solution, there should be always a
single move that is the only option option move solution forward?

But even then humans do "moves" like "if i put that number here then that
eliminates all other possibilities, that leaves us only that other number",
which is kinda like guessing. So even if there are no single so human also
tries if a valid move will block all future valid moves. A brute force
algorithm does just that, except that it has a much larger memory and
computation speed so it can think that at 9x9 depth to find a perfect solution

~~~
Majromax
> For a valid sudoku there shouldn't be any guessing involved?

In the philosophy presented on that channel, it's not that such a Sudoku
puzzle is "invalid," it's just not particularly interesting or 'beautiful'.

From my viewing, there appear to be two differences between "logic" and
"guessing" (or "bifurcation"):

* Bifurcation/guessing is just as happy with a correct guess as an incorrect one. If I guess that a square is a '1' and then fill out the rest of the puzzle without finding a contradiction, then that's a good (in fact the best!) guess. "Logic," on the other hand, seeks contradictions to rule out possibilities * "Guessing" is content to proceed arbitrarily far down the solution tree to find a solution (or contradiction), whereas "logic" limits itself to a few steps that can stay in a human's working memory.

The latter point is certainly fuzzy, and it leads to developing some
heuristics (such as [https://www.sudokuoftheday.com/techniques/hidden-pairs-
tripl...](https://www.sudokuoftheday.com/techniques/hidden-pairs-triples/) or
[https://www.learn-sudoku.com/x-wing.html](https://www.learn-
sudoku.com/x-wing.html)) to reduce more complicated deductive chains into
"single steps."

However, the difference is clearer with the kinds of puzzles highlighted on
the linked channel. These puzzles often include additional constraints, such
as "the first three cells in the row form an increasing/decreasing sequence."
"Logic" then provides universal derived constraints (such as "a 9/1 can never
be in the middle of this sequence") that are more obviously distinct from
depth-first-search guessing.

------
deepaksurti
Using my CL based sudoku solver [1], I got the following solution. The
solution is valid but different from what is shown in the video. IIRC, a
sudoku board can have multiple solutions but anyone out here can explain why
so? I am no sudoku expert or enjoying solving sudokus anyways!

[1] [https://github.com/dmsurti/sudoku](https://github.com/dmsurti/sudoku)

```

(setf board

    
    
          #(0 0 0 0 0 0 0 0 0
    
            0 0 0 0 0 0 0 0 0
    
            0 0 0 0 0 0 0 0 0
    
            0 0 0 0 0 0 0 0 0
    
            0 0 1 0 0 0 0 0 0
    
            0 0 0 0 0 0 2 0 0
    
            0 0 0 0 0 0 0 0 0
    
            0 0 0 0 0 0 0 0 0
    
            0 0 0 0 0 0 0 0 0))
    

```

```

* (sudoku:print-board (sudoku:solve board))

1 2 5 | 6 4 7 | 8 9 3

8 3 4 | 5 9 1 | 6 7 2

9 7 6 | 3 2 8 | 4 5 1

\- - - - - - - - - - -

5 8 9 | 2 3 4 | 1 6 7

2 6 1 | 7 8 9 | 3 4 5

3 4 7 | 1 5 6 | 2 8 9

\- - - - - - - - - - -

4 9 2 | 8 1 5 | 7 3 6

6 1 8 | 9 7 3 | 5 2 4

7 5 3 | 4 6 2 | 9 1 8

```

edit: formatting

~~~
Marazan
You have consecutive numbers appearing next to each other.

One of the constraints is that no consecutive numbers can appear orthogonally.

This isn't a standard sudoku, there are extra rules. There would be a huge
number of valid solutions to the board under regular sudoku rules.

EDIT: and you've missed the King's move constraint as well and I presume the
Knight's move as well.

