Hi experts,
I have got an idea about how to utilize only 5184 templates of 8 rows only (instead of 46656 templates of 9 rows) for all possible combination of each digit of a puzzle.
Just share the idea. Please do not hesitate to ask if explanation is needed.
// Global constant variable declaration with initializations
int P[5184][8];
int T[9][8] = { // Pointers to POM column for each puzzle column cell position containing digit
{ 1, 2, 3, 4, 5, 6, 7, 8}, { 0, 2, 3, 4, 5, 6, 7, 8}, { 0, 1, 3, 4, 5, 6, 7, 8},
{ 4, 5, 0, 1, 2, 6, 7, 8}, { 5, 3, 0, 1, 2, 6, 7, 8}, { 3, 4, 0, 1, 2, 6, 7, 8},
{ 7, 8, 0, 1, 2, 3, 4, 5}, { 6, 8, 0, 1, 2, 3, 4, 5}, { 6, 7, 0, 1, 2, 3, 4, 5}};
Note: Next, I am thinking about how to skip (jump) templates for remaining 8 rows.
int J[9] = {864, 288, 48, 12, 6, 2, 1, 0};
R. Jamil