I'm not alone in this belief. There are lots and lots and lots of organizations dedicated to helping people learn to code. Even the Prime Minister of Singapore posted a Sudoku Solver that he wrote while an electrical engineering student as encouragement and an example to the world that we need more people who can code.
I think that code may have been more approachable when I was learning. The video games we had were blocky and you could understand how they could worked with a minimal amount of instruction or none at all; how many versions of breakout and lunar lander must have been written by enthusiasts. Today, it takes a small army of developers and artists to create even the simplest console video game. But mostly, I think that there are so many problems that are already solved, and that they are too easy to get on the internet; what's the point of doing something that takes thought and creativity when more complete solutions are available at the click of a mouse for free? The point is in the joy of discovery and creation.
So, I sat down with my son and we wrote a Sudoku Solver in C#. I've put the source code on a Github gist. Feel free to use it for any purpose you want. My goals were to make it compact, easy to read, and efficient.