Yes, I believe it is missing a rule. If columns don't need to be identical than this 10x10 puzzle won't have a unique solution: http://i.imgur.com/ZQ8pkfm.png
I get the same problem with valid solutions that don't match whatever it's comparing as the "right" one. It would be better to instead do a goal test after the final square has been filled? Seems to me this wouldn't be too hard to implement instead of comparing with a key.
The rules don't explicitly say that columns need to be unique (only rows).
Within the stated rules there are (as best I can see) 2 valid solutions to that puzzle. It is the introduction of the unstated unique column rule that resolves it.