* handling invalids separately: they should not be part of the permutations tried
 * making sure 0 is the most likely candidate for any digit marked as X or none
 * making sure all example forms work