Sherlock algorithm

I’m sure some of you have heard of the game Sherlock by Everett Kaser http://www.kaser.com/sherwin.html. I was wondering if anyone knew what kind of puzzle generation algorithm would be used in this? The executable is very small yet it holds 64k combinations, so each puzzle is most likely generated on the fly.

Any ideas?