Rush Hour (the puzzle)
Read the Article
The Go code can solve puzzles, render puzzles to PNG, generate puzzles, and more.
The C++ code "solves" the entire game - identifying all "interesting" puzzles that are possible. Read the article for more information. A database of puzzles is available.