![]() |
|
![]() |
| I love the feeling of finding the beauty of how a puzzle resolves. The hand set puzzles are as much a challenge to player as they are a demonstration of the setter's own skill and cleverness. |
![]() |
| Cracking The Cryptic also has a "Genuinely Approachable Sudoku" community (Discord is the only public feed I'm aware of), where a handmade puzzle using all sorts of Sudoku variants is posted daily. |
![]() |
| I counted one trillion or 9! * 3!^8 * 2 : the 8 because you have can choose 3 independent permutations of columns inside column blocks + 1 permutation of column blocks, plus same for rows. Then only one rotation should be counted, because flips are included in col/row permutations.
I think wreath products relate to the second sentence; see this page, which mentions the same result: https://en.wikipedia.org/wiki/Mathematics_of_Sudoku#The_sudo... |
![]() |
| You're correct, the horizontal and vertical flips for the square, are already accounted for in the wreath product. And I miscounted the products themselves. Up to 1.2*10^12 symmetries. |
![]() |
| Hi! I'm the author, didn't expect this to be posted here yet. I was still somewhat working on it, so please bear with me when you find anything weird. You can give me any feedback here. |
![]() |
| Thank you and all the others here for the kind words, means a lot:)
And the WASM solver is super cool, definitely useful for generating them as you have to do quite a lot of iterations! |
![]() |
| Your article is fantastic. I really like the way you present information, especially with the interactive examples.
I've been playing a lot with the logic programming language, Prolog. Sudoku is a popular "hello world" for it. If you haven't used Prolog before, here's an example of a Sudoku solver. It uses Prolog's Constraint Logic Programming over Finite Domains library -- CLP(FD) -- a form of CSP. https://swish.swi-prolog.org/example/clpfd_sudoku.pl The relation on line 8 basically encodes the rules of Sudoku verbatim. Logic programming is cool (at least to me) because relations can be run in any direction with any number of variables. I wonder how writing a Sudoku puzzle generator would differ in a language that had first-class support for CSP. |
![]() |
| Great article, no comments. I know the angry/dissatisfied people tend to give lots of feedback, but I really enjoyed your article and playing around with it. |
![]() |
| Really love the UI!
Though the color of the inserted numbers and the highlight color of the current selected number are nearly the same, would be great if they were much more distinct. |
![]() |
| The author calls this out specifically:
> and this makes the whole analysis problematic, as we still don't know if this is actually a good difficulty indicator for how a human perceives the difficulty |
![]() |
| Thank you! Definitely went on a lot of hacker side quests with this project and the article.
And makes me happy you like the applets. I really like creating interactive articles, they can help so much with understanding, https://ciechanow.ski/ articles are the perfect example of this. It's crazy how easier something becomes to grasp if you can play around with it. Haha, the badge idea is definitely cool! I do fear for my less technical relatives becoming a target of a predatory app that should be free. Would be nice to quickly find good solutions. My trick is normally to search for "github" and find some random programmers project that is free of any monetization strategy e.g. "memory matching github" |
![]() |
| Website is open source at https://github.com/TN1ck/tn1ck.com. Tech stack is literally just a Next.js website and I write my articles in React. I tried other things before e.g. Jekyll, but I found that dynamic content is really hard to do there, annoyingly hard.
I keep it super simple and don't do "the proper way" of things at times (e.g. the blog index is manually done by me). But that keeps it simple & independent to me. Next.js here is just a detail, I can always move to some other React-based static site generator. It's hosted at Cloudflare. The design is heavily inspired by https://turbopuffer.com/, I don't deserve any praise for that. |
![]() |
| Thanks a lot for your website - that was refreshing to see.
While I like the idea of using ARC3 to grade sudoku, I much prefer the approach developed by Andrew C. Stuart in [0], where they rely on the human techniques* needed to solve the sudoku. Indeed, Sudoku are small enough that a reasonable greedy algorithm is enough to solve them quasi instantly on modern hardware. * techniques to solve the sudoku that can be applied by an human (as opposed to a computer). [0]: https://www.sudokuwiki.org/Sudoku_Creation_and_Grading.pdf |
Answering the object-level problem "my grandma wanted to play some sudokus on her computer", I really enjoyed the Cracking the Cryptic-affiliated game "Classic Sudoku", which is available on Steam, although some of the puzzles are really hard. The puzzles are all handmade, and many of them have some specific reason to exist: e.g. there's at least one which is clearly intended to teach you the swordfish pattern, and there are a few which appear to be built around some beautiful one-off ideas.