Hi Wilson,
Thanks for sharing your solution! Really neat!!
I would love to play the game, so I explored over the weekend to use Mathematica to generate random game with only one solution, and draw the pieces that can be later print out and play.
When Mathematica first generate the 9 pieces, it will draw them as a solution:

Attached is my notebook.
Attachments: