Compat Matrix 1: 1 2 3 4 7 2: 1 2 3 5 8 3: 1 2 3 6 9 4: 1 4 5 6 7 5: 2 4 5 6 8 6: 3 4 5 6 9 7: 1 4 7 8 9 8: 2 5 7 8 9 9: 3 6 7 8 9 // counter: 123456789 // 1st Digit: 1 (49) // 2nd Digit: 2 (50) // 3rd Digit: 3 (51) // 4th Digit: 4 (52) // 5th Digit: 5 (53) // 6th Digit: 6 (54) // 7th Digit: 7 (55) // 8th Digit: 8 (56) // 9th Digit: 9 (57) // 362880 // blocks := generate_blocks() // fmt.Println(len(blocks)) // print_block(blocks[0]) // print_block(blocks[1]) // for i := range blocks { // fmt.Println(blocks[i]) // } row1 := "769104802" row2 := "154800060" row3 := "002700150" row4 := "600900308" row5 := "045328670" row6 := "328670945" row7 := "597410280" row8 := "006283090" row9 := "200590006" row1 := "769154832" row2 := "154832769" row3 := "832769154" row4 := "671945328" row5 := "945328671" row6 := "328671945" row7 := "597416283" row8 := "416284597" row9 := "283597416" // for rows1_index := range solver.row1s { // for rows2_index := range solver.row2s { // for rows3_index := range solver.row3s { // for rows4_index := range solver.row4s { // for rows5_index := range solver.row5s { // for rows6_index := range solver.row6s { // for rows7_index := range solver.row7s { // for rows8_index := range solver.row8s { // for rows9_index := range solver.row9s { // go solver.routine_validator(rows1_index, rows2_index, rows3_index, rows4_index, rows5_index, rows6_index, rows7_index, rows8_index, rows9_index) // // if solver.validate_combination(solver.row1s[rows1_index], solver.row2s[rows2_index], solver.row3s[rows3_index], solver.row4s[rows4_index], solver.row5s[rows5_index], solver.row6s[rows6_index], solver.row7s[rows7_index], solver.row8s[rows8_index], solver.row9s[rows9_index]) { // // solver.solutions = append(solver.solutions, solver.render_combination(solver.row1s[rows1_index], solver.row2s[rows2_index], solver.row3s[rows3_index], solver.row4s[rows4_index], solver.row5s[rows5_index], solver.row6s[rows6_index], solver.row7s[rows7_index], solver.row8s[rows8_index], solver.row9s[rows9_index])) // // } // // solver.counter = solver.counter + 1 // // if solver.counter%1000000 == 0 { // // percentage = (float32(solver.counter) / (float32(solver.iter) / 100)) // // fmt.Println("Processing:", percentage, "%; Procs:", runtime.NumGoroutine()) // // } // } // } // } // } // } // } // } // } // }