(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.0' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 355858, 9602]*) (*NotebookOutlinePosition[ 356535, 9625]*) (* CellTagsIndexPosition[ 356491, 9621]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ "SuDoKu Analysis in ", StyleBox["Mathematica", FontSlant->"Italic"] }], "Title"], Cell["\<\ Hagai Agmon-Snir, Israel hagai@techie.com; agmonsnir@gmail.com\ \>", "Subtitle"], Cell["June 2005, version 1.0", "Subsubtitle"], Cell[TextData[{ "In the last few weeks, SuDoKu has become very popular in Israel. Just for \ the fun of it, I made this notebook, in teh very few hours of spate time I \ found. It is enjoyable to see how easy ", StyleBox["Mathematica", FontSlant->"Italic"], " handles SuDoKu algorithms, including advanced logical-deduction schemes, \ using its various computation approaches. I used comparably straightforward \ ", StyleBox["Mathematica", FontSlant->"Italic"], ", without any aspiration of an expert. This can be used as a tool for \ learning ", StyleBox["Mathematica. ", FontSlant->"Italic"], "This is not intended to be a \"black-box\" package. Instead, it can be \ used to trace the algorithms behind SudoKu analysis.\nOf course, I will be \ delighted to get feedback and improvements. I am sure there are many things \ to correct and change.\n" }], "Text"], Cell[CellGroupData[{ Cell["\<\ Inits - examples of sudoku puzzles to be used in the examples below\ \>", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudoku", "=", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "0", "0", "0", "0", "4"}, {"0", "8", "0", "7", "0", "0", "0", "3", "0"}, {"0", "5", "1", "0", "0", "0", "0", "9", "0"}, {"0", "0", "0", "0", "9", "2", "0", "0", "8"}, {"0", "0", "2", "5", "0", "0", "7", "0", "0"}, {"4", "3", "0", "0", "1", "0", "0", "0", "6"}, {"0", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{0, 0, 0, 0, 0, 1, 0, 8, 0}, {2, 0, 5, 6, 0, 0, 0, 0, 4}, {0, 8, 0, 7, 0, 0, 0, 3, 0}, {0, 5, 1, 0, 0, 0, 0, 9, 0}, {0, 0, 0, 0, 9, 2, 0, 0, 8}, {0, 0, 2, 5, 0, 0, 7, 0, 0}, {4, 3, 0, 0, 1, 0, 0, 0, 6}, {0, 0, 7, 9, 6, 0, 0, 4, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudokuerror", "=", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "0", "0", "0", "0", "4"}, {"0", "8", "0", "7", "0", "0", "0", "3", "0"}, {"0", "5", "1", "0", "0", "0", "0", "9", "0"}, {"0", "0", "0", "0", "9", "2", "1", "0", "8"}, {"0", "0", "2", "5", "0", "0", "7", "0", "0"}, {"4", "3", "0", "0", "1", "0", "0", "0", "6"}, {"0", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{0, 0, 0, 0, 0, 1, 0, 8, 0}, {2, 0, 5, 6, 0, 0, 0, 0, 4}, {0, 8, 0, 7, 0, 0, 0, 3, 0}, {0, 5, 1, 0, 0, 0, 0, 9, 0}, {0, 0, 0, 0, 9, 2, 1, 0, 8}, {0, 0, 2, 5, 0, 0, 7, 0, 0}, {4, 3, 0, 0, 1, 0, 0, 0, 6}, {0, 0, 7, 9, 6, 0, 0, 4, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudokuillegal", "=", GridBox[{ {"0", "0", "0", "0", "1", "1", "0", "8", "0"}, {"2", "0", "5", "6", "0", "0", "0", "0", "4"}, {"0", "8", "0", "7", "0", "0", "0", "3", "0"}, {"0", "5", "1", "0", "0", "0", "0", "9", "0"}, {"0", "0", "0", "0", "9", "2", "1", "0", "8"}, {"0", "0", "2", "5", "0", "0", "7", "0", "0"}, {"4", "3", "0", "0", "1", "0", "0", "0", "6"}, {"0", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{0, 0, 0, 0, 1, 1, 0, 8, 0}, {2, 0, 5, 6, 0, 0, 0, 0, 4}, {0, 8, 0, 7, 0, 0, 0, 3, 0}, {0, 5, 1, 0, 0, 0, 0, 9, 0}, {0, 0, 0, 0, 9, 2, 1, 0, 8}, {0, 0, 2, 5, 0, 0, 7, 0, 0}, {4, 3, 0, 0, 1, 0, 0, 0, 6}, {0, 0, 7, 9, 6, 0, 0, 4, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudoku3a", "=", GridBox[{ {"0", "0", "0", "0", "5", "4", "9", "0", "0"}, {"0", "0", "8", "2", "0", "0", "0", "7", "0"}, {"3", "0", "5", "0", "0", "0", "0", "0", "2"}, {"0", "0", "1", "0", "0", "3", "6", "8", "0"}, {"7", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "9", "0", "6", "1", "0", "0", "4"}, {"0", "0", "3", "0", "9", "8", "0", "4", "0"}, {"0", "0", "0", "7", "0", "0", "0", "0", "6"}, {"0", "5", "2", "0", "0", "0", "0", "1", "0"} }, GridFrame->True, RowLines->True, ColumnLines->True]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{0, 0, 0, 0, 5, 4, 9, 0, 0}, {0, 0, 8, 2, 0, 0, 0, 7, 0}, {3, 0, 5, 0, 0, 0, 0, 0, 2}, {0, 0, 1, 0, 0, 3, 6, 8, 0}, {7, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 9, 0, 6, 1, 0, 0, 4}, {0, 0, 3, 0, 9, 8, 0, 4, 0}, {0, 0, 0, 7, 0, 0, 0, 0, 6}, {0, 5, 2, 0, 0, 0, 0, 1, 0}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudokujune232005", "=", GridBox[{ {"0", "0", "6", "0", "0", "5", "7", "0", "3"}, {"0", "0", "0", "4", "0", "0", "0", "8", "0"}, {"0", "0", "0", "9", "3", "0", "0", "0", "0"}, {"0", "4", "0", "0", "0", "0", "2", "0", "1"}, {"0", "0", "1", "0", "0", "0", "3", "0", "0"}, {"6", "0", "5", "0", "0", "0", "0", "4", "0"}, {"0", "0", "0", "0", "1", "4", "0", "0", "0"}, {"0", "1", "0", "0", "0", "9", "0", "0", "0"}, {"2", "0", "4", "3", "0", "0", "6", "0", "0"} }, GridFrame->True, RowLines->True, ColumnLines->True]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{0, 0, 6, 0, 0, 5, 7, 0, 3}, {0, 0, 0, 4, 0, 0, 0, 8, 0}, {0, 0, 0, 9, 3, 0, 0, 0, 0}, {0, 4, 0, 0, 0, 0, 2, 0, 1}, {0, 0, 1, 0, 0, 0, 3, 0, 0}, {6, 0, 5, 0, 0, 0, 0, 4, 0}, {0, 0, 0, 0, 1, 4, 0, 0, 0}, {0, 1, 0, 0, 0, 9, 0, 0, 0}, {2, 0, 4, 3, 0, 0, 6, 0, 0}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudokujune242005hard", "=", GridBox[{ {"8", "0", "1", "9", "0", "0", "0", "0", "5"}, {"0", "7", "0", "0", "0", "0", "0", "6", "0"}, {"0", "0", "0", "5", "6", "0", "2", "0", "0"}, {"0", "5", "0", "0", "0", "0", "0", "0", "6"}, {"0", "0", "0", "4", "3", "8", "0", "0", "0"}, {"3", "0", "0", "0", "0", "0", "0", "9", "0"}, {"0", "0", "9", "0", "7", "5", "0", "0", "0"}, {"0", "2", "0", "0", "0", "0", "0", "7", "0"}, {"5", "0", "0", "0", "0", "9", "4", "0", "1"} }, GridFrame->True, RowLines->True, ColumnLines->True]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{8, 0, 1, 9, 0, 0, 0, 0, 5}, {0, 7, 0, 0, 0, 0, 0, 6, 0}, {0, 0, 0, 5, 6, 0, 2, 0, 0}, {0, 5, 0, 0, 0, 0, 0, 0, 6}, {0, 0, 0, 4, 3, 8, 0, 0, 0}, {3, 0, 0, 0, 0, 0, 0, 9, 0}, {0, 0, 9, 0, 7, 5, 0, 0, 0}, {0, 2, 0, 0, 0, 0, 0, 7, 0}, {5, 0, 0, 0, 0, 9, 4, 0, 1}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"sudokuadvanced", "=", GridBox[{ {"1", "0", "0", "0", "2", "0", "0", "0", "3"}, {"9", "0", "0", "1", "0", "0", "0", "0", "8"}, {"6", "0", "0", "0", "0", "4", "0", "0", "2"}, {"4", "3", "0", "7", "0", "0", "0", "0", "5"}, {"7", "0", "2", "0", "6", "0", "4", "0", "1"}, {"8", "0", "0", "4", "0", "1", "0", "9", "0"}, {"2", "0", "0", "9", "0", "0", "0", "0", "0"}, {"3", "0", "0", "0", "0", "8", "0", "0", "4"}, {"5", "0", "0", "0", "7", "0", "0", "0", "9"} }, GridFrame->True, RowLines->True, ColumnLines->True]}]], "Input", InitializationCell->True], Cell[BoxData[ \({{1, 0, 0, 0, 2, 0, 0, 0, 3}, {9, 0, 0, 1, 0, 0, 0, 0, 8}, {6, 0, 0, 0, 0, 4, 0, 0, 2}, {4, 3, 0, 7, 0, 0, 0, 0, 5}, {7, 0, 2, 0, 6, 0, 4, 0, 1}, {8, 0, 0, 4, 0, 1, 0, 9, 0}, {2, 0, 0, 9, 0, 0, 0, 0, 0}, {3, 0, 0, 0, 0, 8, 0, 0, 4}, {5, 0, 0, 0, 7, 0, 0, 0, 9}}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Initial functions and preset variables", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ subgridanchors - a vector of anchor cells within subgrids - to be used for \ transforming subgrid number (1-9) into cells range\ \>", "Subsection", InitializationCell->True], Cell[CellGroupData[{ Cell[BoxData[ \(subgridanchors = {{1, 1}, {1, 4}, {1, 7}, {4, 1}, {4, 4}, {4, 7}, {7, 1}, {7, 4}, {7, 7}}\)], "Input", InitializationCell->True], Cell[BoxData[ \({{1, 1}, {1, 4}, {1, 7}, {4, 1}, {4, 4}, {4, 7}, {7, 1}, {7, 4}, {7, 7}}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["extract3columns[m,range] - returns selected columns of m", "Subsection", InitializationCell->True], Cell[BoxData[ \(extract3columns[m_, range_] := Map[Take[#, range] &, m]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(extract3columns[sudoku, {4, 6}]\)], "Input"], Cell[BoxData[ \({{0, 0, 1}, {6, 0, 0}, {7, 0, 0}, {0, 0, 0}, {0, 9, 2}, {5, 0, 0}, {0, 1, 0}, {9, 6, 0}, {0, 0, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(Transpose[%]\)], "Input"], Cell[BoxData[ \({{0, 6, 7, 0, 0, 5, 0, 9, 0}, {0, 0, 0, 0, 9, 0, 1, 6, 0}, {1, 0, 0, 0, 2, 0, 0, 0, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(extract3columns[%, {4, 6}]\)], "Input"], Cell[BoxData[ \({{0, 0, 5}, {0, 9, 0}, {0, 2, 0}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ gridcols[c] - returns range of subgrid columns for a given column\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(gridcols[c_] := \[IndentingNewLine]Switch[ c, \[IndentingNewLine]1, {1, 3}, \[IndentingNewLine]2, {1, 3}, \[IndentingNewLine]3, {1, 3}, \[IndentingNewLine]4, {4, 6}, \[IndentingNewLine]5, {4, 6}, \[IndentingNewLine]6, {4, 6}, \[IndentingNewLine]7, {7, 9}, \[IndentingNewLine]8, {7, 9}, \[IndentingNewLine]9, {7, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(Range[\(gridcols[6]\)[\([1]\)], \(gridcols[6]\)[\([2]\)]]\)], "Input"], Cell[BoxData[ \({4, 5, 6}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ subgrid[m,r,c] - returns a subgrid matrix of m that includes cell (r,c)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(subgrid[m_, r_, c_] := \[IndentingNewLine]Transpose[\[IndentingNewLine]\ extract3columns[\[IndentingNewLine]Transpose[\[IndentingNewLine]\ extract3columns[\[IndentingNewLine]m, gridcols[c]\[IndentingNewLine]]\[IndentingNewLine]], gridcols[r]\[IndentingNewLine]]\[IndentingNewLine]]\)\)\)], "Input",\ InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(subgrid[sudoku, 6, 7]\)], "Input"], Cell[BoxData[ \({{0, 9, 0}, {0, 0, 8}, {7, 0, 0}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ illegalvalues[m,r,c] - returns the illegal values for cell (r,c) of m (note: \ if (r,c) is non-empty in m - result is meaningless)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(illegalvalues[m_, r_, c_] := \[IndentingNewLine]Intersection[\[IndentingNewLine]Union[\ \[IndentingNewLine]Intersection[\[IndentingNewLine]Union[\[IndentingNewLine]m[\ \([r]\)]\[IndentingNewLine]], {1, 2, 3, 4, 5, 6, 7, 8, 9}\[IndentingNewLine]], \[IndentingNewLine]Intersection[\ \[IndentingNewLine]Union[\[IndentingNewLine]\((Transpose[ m])\)[\([c]\)]\[IndentingNewLine]], {1, 2, 3, 4, 5, 6, 7, 8, 9}\[IndentingNewLine]], \[IndentingNewLine]Flatten[ subgrid[m, r, c]]\[IndentingNewLine]], \[IndentingNewLine]{1, 2, 3, 4, 5, 6, 7, 8, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(illegalvalues[sudoku, 1, 2]\)], "Input"], Cell[BoxData[ \({1, 2, 3, 5, 8}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ legalvalues[m,r,c] - returns the only legal values for cell (r,c) of m (note: \ if (r,c) is non-empty in m - returns an empty list)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(legalvalues[m_, r_, c_] := \[IndentingNewLine]If[ m[\([r, c]\)] \[Equal] 0, Complement[{1, 2, 3, 4, 5, 6, 7, 8, 9}, \[IndentingNewLine]illegalvalues[m, r, c]\[IndentingNewLine]], {}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(legalvalues[sudoku, 2, 3]\)], "Input"], Cell[BoxData[ \({}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ subgridlegalvalues[m,r,c] - returns a matrix of the legal values for the \ subgrid of cell (r,c) of m (note: if a cell is non-empty in m - an empty list \ is provided - reflecting that there are no legalvalues)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(subgridlegalvalues[m_, r_, c_] := \[IndentingNewLine]Module[{legalvaluestable}, \ \[IndentingNewLine]legalvaluestable = Table[legalvalues[m, r1, c1], {r1, 9}, {c1, 9}]; \[IndentingNewLine]Transpose[\[IndentingNewLine]\ extract3columns[\[IndentingNewLine]Transpose[\[IndentingNewLine]\ extract3columns[\[IndentingNewLine]legalvaluestable, gridcols[c]\[IndentingNewLine]]\[IndentingNewLine]], gridcols[ r]\[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\)\ ], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(subgridlegalvalues[sudoku, 2, 2]\)], "Input"], Cell[BoxData[ \({{{3, 6, 7, 9}, {4, 6, 7, 9}, {3, 4, 6, 9}}, {{}, {1, 7, 9}, {}}, {{1, 6, 9}, {}, {4, 6, 9}}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Checking legality of a matrix/puzzle", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ rowsCheckTable[m] - return a matrix - in place (n,c) one finds how many times \ n appears in row c (in m)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(rowsCheckTable[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]Table[\ \[IndentingNewLine]Count[m[\([r]\)], n]\[IndentingNewLine], {r, 9}\[IndentingNewLine]]\[IndentingNewLine], {n, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(Length[ Intersection[ Union[Flatten[rowsCheckTable[sudokuerror]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(Length[ Intersection[ Union[Flatten[rowsCheckTable[sudokuillegal]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\)], "Input"], Cell[BoxData[ \(False\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ colsCheckTable[m] - return a matrix - in place (n,c) one finds how many times \ n appears in column c (in m)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(colsCheckTable[m_] := \[IndentingNewLine]rowsCheckTable[ Transpose[m]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(colsCheckTable[sudokuillegal]\)], "Input"], Cell[BoxData[ \({{0, 0, 1, 0, 2, 1, 1, 0, 0}, {1, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 1, 1}, {0, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 1, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1, 1}, {0, 0, 0, 1, 1, 0, 0, 1, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(Length[ Intersection[ Union[Flatten[colsCheckTable[sudokuerror]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ gridsCheckTable[m] - return a matrix - in place (n,g) one finds how many \ times n appears in subgrid g (in m)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(gridsCheckTable[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]Table[\ \[IndentingNewLine]Count[ Flatten[subgrid[m, subgridanchors[\([g, 1]\)], subgridanchors[\([g, 2]\)]]], n]\[IndentingNewLine], {g, 9}\[IndentingNewLine]]\[IndentingNewLine], {n, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(gridsCheckTable[sudokuillegal]\)], "Input"], Cell[BoxData[ \({{0, 2, 0, 1, 0, 1, 0, 1, 0}, {1, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 1}, {0, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 0, 1, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(Length[ Intersection[ Union[Flatten[gridsCheckTable[sudokuillegal]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\)], "Input"], Cell[BoxData[ \(False\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ checkSudokuLegal[m] - returns True if m is legal as sudoku matrix/puzzle \ (some cells may be empty, e.g. = 0)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(checkSudokuLegal[ m_] := \[IndentingNewLine]Length[ Intersection[ Union[Flatten[rowsCheckTable[m]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\ && \[IndentingNewLine]Length[ Intersection[ Union[Flatten[colsCheckTable[m]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\ && \[IndentingNewLine]Length[ Intersection[ Union[Flatten[gridsCheckTable[m]]], {2, 3, 4, 5, 6, 7, 8, 9}]] \[Equal] 0\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuLegal[sudokuerror]\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuLegal[sudokuillegal]\)], "Input"], Cell[BoxData[ \(False\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Analyzing legal values in a matrix", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ singleCellsTable[m] - return a matrix - in place (r,c) one finds how many \ legal values are for empty cell (r,c) in m (note: if cell is non-empty, x is \ put in the matrix)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleCellsTable[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]If[\ \[IndentingNewLine]m[\([i, j]\)] \[Equal] 0, Length[legalvalues[m, i, j]], x\[IndentingNewLine]]\[IndentingNewLine], {i, 1, 9}, {j, 1, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleCellsTable[sudokuerror]\)], "Input"], Cell[BoxData[ \({{4, 4, 4, 3, 4, x, 4, x, 4}, {x, 3, x, x, 2, 3, 1, 2, x}, {3, x, 3, x, 3, 3, 4, x, 4}, {4, x, x, 3, 4, 5, 4, x, 1}, {3, 3, 3, 2, x, x, x, 2, x}, {4, 3, x, x, 3, 4, x, 1, 0}, {x, x, 2, 2, x, 3, 4, 3, x}, {3, 2, x, x, x, 2, 3, x, x}, {5, 4, 3, 4, 6, 5, 4, 4, 5}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleCellsAnalysis[m,count] - return a list of the positions in m in which \ the number of legal values is 'count'\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleCellsAnalysis[m_, count_] := \[IndentingNewLine]Position[\[IndentingNewLine]\ singleCellsTable[m]\[IndentingNewLine], count]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleCellsAnalysis[sudoku, 1]\)], "Input"], Cell[BoxData[ \({{4, 9}, {6, 9}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleRowsTable[m] - return a matrix - in place (n,r) one finds how many \ times n occur as a legal value in row r in m (note: if n appears in row r in \ m, x is put in the matrix)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleRowsTable[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]Table[\ \[IndentingNewLine]If[ Count[m[\([r]\)], n] \[Equal] 0, \[IndentingNewLine]Apply[ Plus, \[IndentingNewLine]Table[ Count[legalvalues[m, r, c], n]\[IndentingNewLine], {c, 9}]]\[IndentingNewLine], x\[IndentingNewLine]], {r, 9}\[IndentingNewLine]]\[IndentingNewLine], {n, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleRowsTable[sudokuerror]\)], "Input"], Cell[BoxData[ \({{x, 2, 2, x, x, 0, x, 2, 4}, {4, x, 3, 2, x, x, 3, 2, 6}, {4, 2, x, 5, 3, 3, x, x, 3}, {4, x, 3, 4, 3, 3, x, x, 3}, {3, x, 4, x, 1, x, 3, 3, 6}, {4, x, 3, 3, 4, 4, x, x, 3}, {3, 2, x, 3, 2, x, 2, x, 4}, {x, 2, x, 4, x, 3, 4, 3, 6}, {5, 3, 5, x, x, 2, 2, x, 5}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleRowsAnalysis[m,count] - return a list of {n,r}-s which show what rows \ have 'count' occurences of n in their legalvalues\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleRowsAnalysis[m_, count_] := \[IndentingNewLine]Position[\[IndentingNewLine]\ singleRowsTable[m]\[IndentingNewLine], count]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleRowsAnalysis[Transpose[sudoku], 1]\)], "Input"], Cell[BoxData[ \({{1, 4}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(singleRowsAnalysis[sudoku, 1]\)], "Input"], Cell[BoxData[ \({}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleColsTable[m] - return a matrix - in place (n,c) one finds how many \ times n occur as a legal value in column c in m (note: if n appears in column \ c in m, x is put in the matrix)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleColsTable[m_] := \[IndentingNewLine]singleRowsTable[ Transpose[m]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleColsTable[sudokuerror]\)], "Input"], Cell[BoxData[ \({{3, 3, x, 0, x, x, x, 2, 2}, {x, 2, x, 3, 3, x, 6, 2, 4}, {4, x, 2, 4, 5, 4, 1, x, x}, {x, 3, 3, 4, 5, 4, 1, x, x}, {2, x, x, x, 3, 4, 5, 3, 3}, {6, 4, 4, x, x, 2, 3, 2, x}, {3, 3, x, x, 2, 3, x, 3, 2}, {4, x, 2, 3, 4, 6, 3, x, x}, {4, 4, 4, x, x, 2, 5, x, 3}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleColsAnalysis[m,count] - return a list of {n,c}-s which show what \ columns have 'count' occurences of n in their legalvalues\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleColsAnalysis[m_, count_] := \[IndentingNewLine]singleRowsAnalysis[ Transpose[m], count]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleColsAnalysis[sudoku, 1]\)], "Input"], Cell[BoxData[ \({{1, 4}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleGridsTable[m] - return a matrix - in place (n,g) one finds how many \ times n occur as a legal value in subgrid g in m (note: if n appears in \ subgrid g in m, x is put in the matrix)\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleGridsTable[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]Table[\ \[IndentingNewLine]If[ Count[Flatten[ subgrid[m, subgridanchors[\([g, 1]\)], subgridanchors[\([g, 2]\)]]], n] \[Equal] 0, \[IndentingNewLine]Count[ Flatten[subgridlegalvalues[m, subgridanchors[\([g, 1]\)], subgridanchors[\([g, 2]\)]]], n]\[IndentingNewLine], x\[IndentingNewLine]], {g, 9}\[IndentingNewLine]]\[IndentingNewLine], {n, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleGridsTable[sudoku]\)], "Input"], Cell[BoxData[ \({{2, x, 4, x, 1, 4, 4, x, 4}, {x, 3, 4, x, x, 2, 2, 3, 6}, {2, 4, x, 4, 6, 2, x, 3, x}, {3, 4, x, 3, 6, 2, x, 3, x}, {x, 3, 4, x, x, 2, 2, 4, 6}, {5, x, 2, 6, 2, 4, 3, x, x}, {3, x, 2, 3, 2, x, x, 3, 3}, {x, 2, x, 2, 5, x, 4, 6, 3}, {6, 2, 5, 2, x, x, 4, x, 3}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(singleGridsTable[sudokuerror]\)], "Input"], Cell[BoxData[ \({{2, x, 2, x, 0, x, 4, x, 2}, {x, 3, 4, x, x, 2, 2, 3, 6}, {2, 4, x, 4, 6, 1, x, 3, x}, {3, 4, x, 3, 6, 1, x, 3, x}, {x, 3, 4, x, x, 1, 2, 4, 6}, {5, x, 2, 6, 2, 3, 3, x, x}, {3, x, 2, 3, 2, x, x, 3, 3}, {x, 2, x, 2, 5, x, 4, 6, 3}, {6, 2, 5, 2, x, x, 4, x, 3}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleGridsAnalysis[m,count] - return a list of {n,g}-s which show what \ subgrids have 'count' occurences of n in their legalvalues\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleGridsAnalysis[m_, count_] := \[IndentingNewLine]Position[\[IndentingNewLine]\ singleGridsTable[m]\[IndentingNewLine], count]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleGridsAnalysis[sudoku, 1]\)], "Input"], Cell[BoxData[ \({{1, 5}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Basic checks: finding next step", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ singleCellsAnalysisCount1[m] - return a list of cells in which only one value \ is legal (each item is {r,c,legalvalue})\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleCellsAnalysisCount1[m_] := \[IndentingNewLine]Map[ Append[#, First[legalvalues[ m, #[\([1]\)], #[\([2]\)]]]] &, \ \[IndentingNewLine]singleCellsAnalysis[m, 1]\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleCellsAnalysisCount1[sudoku]\)], "Input"], Cell[BoxData[ \({{4, 9, 2}, {6, 9, 1}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleRowsAnalysisCount1[m] - return a list of cells in which only one legal \ value is possible since this value appears only once in the legal values of \ the row (each item is {r,c,legalvalue})\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleRowsAnalysisCount1[ m_] := \[IndentingNewLine]Map[\[IndentingNewLine]Part[ Append[#, \[IndentingNewLine]\(Position[ Table[legalvalues[m, #[\([2]\)], c1], {c1, 9}], \[IndentingNewLine]#[\([1]\)]]\)[\([1, 1]\)]], {2, 3, 1}] &, \[IndentingNewLine]singleRowsAnalysis[m, 1]\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleRowsAnalysisCount1[Transpose[sudoku]]\)], "Input"], Cell[BoxData[ \({{4, 5, 1}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleColsAnalysisCount1[m] - return a list of cells in which only one legal \ value is possible since this value appears only once in the legal values of \ the column (each item is {r,c,legalvalue})\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleColsAnalysisCount1[m_] := \[IndentingNewLine]Map[ Part[#, {2, 1, 3}] &, \[IndentingNewLine]singleRowsAnalysisCount1[ Transpose[m]]\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleColsAnalysisCount1[sudoku]\)], "Input"], Cell[BoxData[ \({{5, 4, 1}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ singleGridsAnalysisCount1[m] - return a list of cells in which only one legal \ value is possible since this value appears only once in the legal values of \ the subgrid (each item is {r,c,legalvalue})\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleGridsAnalysisCount1[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]tmp = Map[\[IndentingNewLine]Part[ Append[#, \[IndentingNewLine]Take[\(Position[ subgridlegalvalues[m, subgridanchors[\([#[\([2]\)], 1]\)], subgridanchors[\([#[\([2]\)], 2]\)]], \ #[\([1]\)]]\)\[IndentingNewLine][\([1]\)], 2]\[IndentingNewLine]], {2, 3, 1}] &, \[IndentingNewLine]singleGridsAnalysis[m, 1]\[IndentingNewLine]]; \[IndentingNewLine]Map[ Append[\((subgridanchors[\([#[\([1]\)]]\)] + #[\([2]\)] - {1, 1})\), #[\([3]\)]] &, tmp]\[IndentingNewLine]]\)], "Input",\ InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(singleGridsAnalysisCount1[sudoku]\)], "Input"], Cell[BoxData[ \({{5, 4, 1}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ Looking for logical contradictions in the puzzle/matrix, based on the legal \ values table\ \>", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ checkSudokuZeroOptions[m] - returns False if the list of legal values is \ empty for any empty cell or if a value that is still to be assigned in a \ structure (row, column or subgrid) does not appear in the legal values lists \ of the cells in the structure. This means that m has logical contradiction, \ hence unsolvable.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(checkSudokuZeroOptions[ m_] := \[IndentingNewLine]Length[singleCellsAnalysis[m, 0]] \[Equal] 0\ && \[IndentingNewLine]Length[singleRowsAnalysis[m, 0]] \[Equal] 0\ && \[IndentingNewLine]Length[singleColsAnalysis[m, 0]] \[Equal] 0\ && \[IndentingNewLine]\(\(Length[ singleGridsAnalysis[m, 0]]\)\(\[Equal]\)\(0\)\(\ \)\)\)], "Input",\ InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuZeroOptions[sudokuerror]\)], "Input"], Cell[BoxData[ \(False\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuZeroOptions[sudoku]\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ checkSudokuTwoIdenticalOptions[m] - returns False if there is are two \ identical legal values lists of length 1 in the same structure (row, column \ or subgrid). This means that m has logical contradiction, hence unsolvable. Six aid functions are defined, resembling the \"analyzing legal values\" \ section above. Using these functions, checkSudokuTwoIdenticalOptions is \ easily defined.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(singleRowsTableIdenticalOptions[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]Table[\ \[IndentingNewLine]If[ Count[m[\([r]\)], n] \[Equal] 0, \[IndentingNewLine]Count[ Table[legalvalues[m, r, c], {c, 9}], {n}]\[IndentingNewLine], x\[IndentingNewLine]], {r, 9}\[IndentingNewLine]]\[IndentingNewLine], {n, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(singleRowsAnalysisIdenticalOptions[m_, count_] := \[IndentingNewLine]Position[\[IndentingNewLine]\ singleRowsTableIdenticalOptions[m]\[IndentingNewLine], count]\)], "Input", InitializationCell->True], Cell[BoxData[ \(singleColsTableIdenticalOptions[ m_] := \[IndentingNewLine]singleRowsTableIdenticalOptions[ Transpose[m]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(singleColsAnalysisIdenticalOptions[m_, count_] := \[IndentingNewLine]Position[\[IndentingNewLine]\ singleColsTableIdenticalOptions[m]\[IndentingNewLine], count]\)], "Input", InitializationCell->True], Cell[BoxData[ \(singleGridsTableIdenticalOptions[ m_] := \[IndentingNewLine]Table[\[IndentingNewLine]Table[\ \[IndentingNewLine]If[ Count[Flatten[ subgrid[m, subgridanchors[\([g, 1]\)], subgridanchors[\([g, 2]\)]]], n] \[Equal] 0, \[IndentingNewLine]Count[ Flatten[subgridlegalvalues[m, subgridanchors[\([g, 1]\)], subgridanchors[\([g, 2]\)]], 1], {n}]\[IndentingNewLine], x\[IndentingNewLine]], {g, 9}\[IndentingNewLine]]\[IndentingNewLine], {n, 9}\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(singleGridsAnalysisIdenticalOptions[m_, count_] := \[IndentingNewLine]Position[\[IndentingNewLine]\ singleGridsTableIdenticalOptions[m]\[IndentingNewLine], count]\)], "Input", InitializationCell->True], Cell[BoxData[ \(checkSudokuTwoIdenticalOptions[ m_] := \[IndentingNewLine]Length[ singleRowsAnalysisIdenticalOptions[m, 2]] \[Equal] 0\ && \[IndentingNewLine]Length[ singleColsAnalysisIdenticalOptions[m, 2]] \[Equal] 0\ && \[IndentingNewLine]\(\(Length[ singleGridsAnalysisIdenticalOptions[m, 2]]\)\(\[Equal]\)\(0\)\(\ \)\)\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(Table[ If[sudoku[\([r1, c1]\)] \[Equal] 0, legalvalues[sudoku, r1, c1], x], {r1, 9}, {c1, 9}]\)], "Input"], Cell[BoxData[ \({{{3, 6, 7, 9}, {4, 6, 7, 9}, {3, 4, 6, 9}, {2, 3, 4}, {2, 3, 4, 5}, x, {2, 5, 6, 9}, x, {2, 5, 7, 9}}, {x, {1, 7, 9}, x, x, {3, 8}, {3, 8, 9}, {1, 9}, {1, 7}, x}, {{1, 6, 9}, x, {4, 6, 9}, x, {2, 4, 5}, {4, 5, 9}, {1, 2, 5, 6, 9}, x, {1, 2, 5, 9}}, {{3, 6, 7, 8}, x, x, {3, 4, 8}, {3, 4, 7, 8}, {3, 4, 6, 7, 8}, {2, 3, 4, 6}, x, {2}}, {{3, 6, 7}, {4, 6, 7}, {3, 4, 6}, {1, 3, 4}, x, x, {1, 3, 4, 5, 6}, {1, 5, 6}, x}, {{3, 6, 8, 9}, {4, 6, 9}, x, x, {3, 4, 8}, {3, 4, 6, 8}, x, {1, 6}, {1}}, {x, x, {8, 9}, {2, 8}, x, {5, 7, 8}, {2, 5, 8, 9}, {2, 5, 7}, x}, {{1, 5, 8}, {1, 2}, x, x, x, {5, 8}, {1, 2, 5, 8}, x, x}, {{1, 5, 6, 8, 9}, {1, 2, 6, 9}, {6, 8, 9}, {2, 3, 4, 8}, {2, 3, 4, 5, 7, 8}, {3, 4, 5, 7, 8}, {1, 2, 5, 8, 9}, {1, 2, 5, 7}, {1, 2, 5, 7, 9}}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuTwoIdenticalOptions[sudoku]\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(singleGridsTableIdenticalOptions[sudoku]\)], "Input"], Cell[BoxData[ \({{0, x, 0, x, 0, 1, 0, x, 0}, {x, 0, 0, x, x, 1, 0, 0, 0}, {0, 0, x, 0, 0, 0, x, 0, x}, {0, 0, x, 0, 0, 0, x, 0, x}, {x, 0, 0, x, x, 0, 0, 0, 0}, {0, x, 0, 0, 0, 0, 0, x, x}, {0, x, 0, 0, 0, x, x, 0, 0}, {x, 0, x, 0, 0, x, 0, 0, 0}, {0, 0, 0, 0, x, x, 0, x, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(singleRowsTableIdenticalOptions[sudoku]\)], "Input"], Cell[BoxData[ \({{x, 0, 0, x, 0, 1, x, 0, 0}, {0, x, 0, 1, x, x, 0, 0, 0}, {0, 0, x, 0, 0, 0, x, x, 0}, {0, x, 0, 0, 0, 0, x, x, 0}, {0, x, 0, x, 0, x, 0, 0, 0}, {0, x, 0, 0, 0, 0, x, x, 0}, {0, 0, x, 0, 0, x, 0, x, 0}, {x, 0, x, 0, x, 0, 0, 0, 0}, {0, 0, 0, x, x, 0, 0, x, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(singleRowsAnalysisIdenticalOptions[sudoku, 2]\)], "Input"], Cell[BoxData[ \({}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(singleColsTableIdenticalOptions[sudoku]\)], "Input"], Cell[BoxData[ \({{0, 0, x, 0, x, x, 0, 0, 1}, {x, 0, x, 0, 0, x, 0, 0, 1}, {0, x, 0, 0, 0, 0, 0, x, x}, {x, 0, 0, 0, 0, 0, 0, x, x}, {0, x, x, x, 0, 0, 0, 0, 0}, {0, 0, 0, x, x, 0, 0, 0, x}, {0, 0, x, x, 0, 0, x, 0, 0}, {0, x, 0, 0, 0, 0, 0, x, x}, {0, 0, 0, x, x, 0, 0, x, 0}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Basic Linear (with no bifurcation) Solution", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ solveSudokoBasic[m] - attempts to solve m - returning the solution or the \ final state it managed to create. Based on straightforward four simple \ logical-deduction ways, hence deterministic. If a solution is found, it is a \ unique solution and does not require advanced reasoning or bifurcations. It \ also prints out the process of solution. No checks are made for legality of m \ or whether it has logical contradictions. Next step is not arbitrary/random - the first potential next step is taken. A \ simple upgrade can be to make the algorithm select a random next step out of \ the potential options for the four logical-deduction ways.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(solveSudokoBasic[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]If[ Length[\((tmp = singleCellsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasic[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleRowsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasic[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleColsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasic[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleGridsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasic[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]m\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuLegal[sudoku3a]\)\(\ \)\( (*\ prior\ legality\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuZeroOptions[sudoku3a]\)\(\ \)\( (*\ prior\ 0 - options\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(tmptmp\)\(=\)\(solveSudokoBasic[sudoku3a]\)\(\ \)\( (*\ run\ only\ the\ above\ two\ return\ True\ *) \)\)\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 6}, {8, 3, 4}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{3, 8, 6}, {8, 3, 4}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 3}, {8, 3, 4}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{1, 8, 3}, {8, 3, 4}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 4}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{8, 3, 4}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 6}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{5, 3, 6}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 7}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{1, 3, 7}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 6}}\), SequenceForm[ "Cells ", {{9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 9}}\), SequenceForm[ "Cells ", {{2, 6, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 7}}\), SequenceForm[ "Cells ", {{3, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 7, 2}, {2, 5, 3}, {6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{7, 7, 2}, {2, 5, 3}, {6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 5, 3}, {6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{2, 5, 3}, {6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 4}}\), SequenceForm[ "Cells ", {{9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 3}}\), SequenceForm[ "Cells ", {{9, 4, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 7, 3}, {6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{8, 7, 3}, {6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 2, 3}, {6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{6, 2, 3}, {6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 9, 3}, {6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{5, 9, 3}, {6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 7, 1}, {6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{5, 7, 1}, {6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 7, 7}, {3, 2, 9}}\), SequenceForm[ "Rows ", {{6, 7, 7}, {3, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 8}}\), SequenceForm[ "Cells ", {{9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 4}, {9, 1, 9}}\), SequenceForm[ "Cells ", {{3, 7, 4}, {9, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 5}, {9, 1, 9}}\), SequenceForm[ "Cells ", {{2, 7, 5}, {9, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 1}, {9, 1, 9}}\), SequenceForm[ "Cells ", {{2, 9, 1}, {9, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 8}, {9, 1, 9}}\), SequenceForm[ "Cells ", {{1, 9, 8}, {9, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 9}}\), SequenceForm[ "Cells ", {{9, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 7}}\), SequenceForm[ "Cells ", {{9, 9, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 5}}\), SequenceForm[ "Cells ", {{7, 9, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 9}, {7, 4, 1}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{4, 9, 9}, {7, 4, 1}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 1}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{7, 4, 1}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 4, 6}, {3, 4, 8}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{1, 4, 6}, {3, 4, 8}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 4, 8}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{3, 4, 8}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 1}, {6, 4, 5}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{3, 5, 1}, {6, 4, 5}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 9}, {6, 4, 5}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{3, 2, 9}, {6, 4, 5}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 5}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{6, 4, 5}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 4}, {5, 6, 2}, {6, 8, 2}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{4, 4, 4}, {5, 6, 2}, {6, 8, 2}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 2, 2}, {5, 4, 9}, {5, 6, 2}, {6, 8, 2}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{4, 2, 2}, {5, 4, 9}, {5, 6, 2}, {6, 8, 2}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 1}, {4, 1, 5}, {4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{1, 2, 1}, {4, 1, 5}, {4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 2}, {4, 1, 5}, {4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{1, 1, 2}, {4, 1, 5}, {4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 5}, {4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{4, 1, 5}, {4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{4, 5, 7}, {5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{5, 4, 9}, {5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{5, 6, 2}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 8}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{5, 5, 8}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 4}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{5, 2, 4}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 6}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{2, 2, 6}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 4}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{2, 1, 4}, {5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{5, 8, 5}, {6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{6, 1, 8}, {6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{6, 8, 2}, {7, 1, 6}, {7, 2, 7}, {8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 6}, {7, 2, 7}, {8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{7, 1, 6}, {7, 2, 7}, {8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 7}, {8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{7, 2, 7}, {8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{8, 1, 1}, {8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{8, 2, 8}, {8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 2}, {8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{8, 5, 2}, {8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 5}, {8, 8, 9}}\), SequenceForm[ "Cells ", {{8, 6, 5}, {8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 9}}\), SequenceForm[ "Cells ", {{8, 8, 9}}], Editable->False]], "Print"], Cell[BoxData[ \({{2, 1, 7, 6, 5, 4, 9, 3, 8}, {4, 6, 8, 2, 3, 9, 5, 7, 1}, {3, 9, 5, 8, 1, 7, 4, 6, 2}, {5, 2, 1, 4, 7, 3, 6, 8, 9}, {7, 4, 6, 9, 8, 2, 1, 5, 3}, {8, 3, 9, 5, 6, 1, 7, 2, 4}, {6, 7, 3, 1, 9, 8, 2, 4, 5}, {1, 8, 4, 7, 2, 5, 3, 9, 6}, {9, 5, 2, 3, 4, 6, 8, 1, 7}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuLegal[sudoku]\)\(\ \)\( (*\ prior\ legality\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuZeroOptions[sudoku]\)\(\ \)\( (*\ prior\ 0 - options\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(tmptmp\)\(=\)\(solveSudokoBasic[sudoku]\)\(\ \)\( (*\ run\ only\ the\ above\ two\ return\ True\ *) \)\)\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 2}, {6, 9, 1}}\), SequenceForm[ "Cells ", {{4, 9, 2}, {6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 1}}\), SequenceForm[ "Cells ", {{6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 6}}\), SequenceForm[ "Cells ", {{6, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}}\), SequenceForm[ "Cells ", {{5, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 4, 1}}\), SequenceForm[ "Rows ", {{5, 4, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 6, 6}}\), SequenceForm[ "Cols ", {{4, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{4, 5, 7}}\), SequenceForm[ "Grids ", {{4, 5, 7}}], Editable->False]], "Print"], Cell[BoxData[ \({{0, 0, 0, 0, 0, 1, 0, 8, 0}, {2, 0, 5, 6, 0, 0, 0, 0, 4}, {0, 8, 0, 7, 0, 0, 0, 3, 0}, {0, 5, 1, 0, 7, 6, 0, 9, 2}, {0, 0, 0, 1, 9, 2, 0, 5, 8}, {0, 0, 2, 5, 0, 0, 7, 6, 1}, {4, 3, 0, 0, 1, 0, 0, 0, 6}, {0, 0, 7, 9, 6, 0, 0, 4, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[tmptmp]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "0", "0", "0", "0", "4"}, {"0", "8", "0", "7", "0", "0", "0", "3", "0"}, {"0", "5", "1", "0", "7", "6", "0", "9", "2"}, {"0", "0", "0", "1", "9", "2", "0", "5", "8"}, {"0", "0", "2", "5", "0", "0", "7", "6", "1"}, {"4", "3", "0", "0", "1", "0", "0", "0", "6"}, {"0", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[sudoku]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "0", "0", "0", "0", "4"}, {"0", "8", "0", "7", "0", "0", "0", "3", "0"}, {"0", "5", "1", "0", "0", "0", "0", "9", "0"}, {"0", "0", "0", "0", "9", "2", "0", "0", "8"}, {"0", "0", "2", "5", "0", "0", "7", "0", "0"}, {"4", "3", "0", "0", "1", "0", "0", "0", "6"}, {"0", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[tmptmp - sudoku]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "7", "6", "0", "0", "2"}, {"0", "0", "0", "1", "0", "0", "0", "5", "0"}, {"0", "0", "0", "0", "0", "0", "0", "6", "1"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuLegal[tmptmp]\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Basic Bifurcated Solution", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ solveSudokoBasicBifurcated[m] - attempts (together with bifurcation[m]) to \ solve m - returning the solution or the final state it managed to create. In \ addition to the previous straightforward deterministic four simple \ logical-deduction ways, bifurcation is used if all these four ways fail. In \ this version (see a different version in the \"Creating sudokus\" section \ below), a solution is not essentially unique. The process of solution is \ printed out. Because the bifurcation may result in dead-ends, this method \ does include checks for legality of m and whether it has logical \ contradictions. Next step is not arbitrary/random - the first potential next step is taken. A \ simple upgrade can be to make the algorithm select a random next step out of \ the potential options for the four logical-deduction ways.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(\[IndentingNewLine]\)\(\ solveSudokoBasicBifurcated[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]If[\(! \ MemberQ[Flatten[m], 0]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuLegal[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuZeroOptions[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[ Length[\((tmp = singleCellsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleRowsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleColsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleGridsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[\((tmp = bifurcation[m])\)[\([1]\)] === 2, \[IndentingNewLine]Print["\"]; Print[MatrixForm[tmp[\([2]\)]]]; tmp[\([2]\)], \[IndentingNewLine]If[ Length[\((tmp[\([2]\)])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcated[ ReplacePart[ m, \(tmp[\([2]\)]\)[\([1, 3]\)], {\(tmp[\([2]\)]\)[\([1, 1]\)], \(tmp[\([2]\)]\)[\([1, 2]\)]}]], \[IndentingNewLine]m\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\)\)\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["\<\ bifurcation[m] - this is the bifurcation engine of the algorithm. In this \ version (and this can be easily improved), bifurcation is based only on cells \ with exactly two legal values (hence, if there aren't such cells - no \ bifurcation occurs). To minimize analysis repetitions, bifurcation[m] returns a list {2,solution} \ if a solution is found and a list {1,alternative selection} when the first \ selection at the bifurcation fails. The calling function acts according to \ the first element of the resturning list. Next bifurcation is not arbitrary/random - the first cell in the list of \ cells with two legal values is used and the first legal value in it is \ selected as first guess. A simple upgrade can be to make the algorithm select \ a random cell in the two-legal-values list and in deciding on the first \ guess. \ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(bifurcation[ m_] := \[IndentingNewLine]Module[{tmp = singleCellsAnalysis[m, 2], solution, tmplist}, \ (*\ singleCellsAnalysis[m, 2]\ lists\ the\ positions\ of\ non - empty\ cells\ cells\ with\ exactly\ two\ legal\ values\ \ *) \[IndentingNewLine]If[ Length[tmp] > 0, \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]If[ MemberQ[Flatten[\((solution = solveSudokoBasicBifurcated[ ReplacePart[ m, \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]])\)], 0], \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([2]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[1, tmplist])\), \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[2, solution])\)\[IndentingNewLine]], {1, {}}\[IndentingNewLine]]\ \[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(solveSudokoBasic[sudoku]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 2}, {6, 9, 1}}\), SequenceForm[ "Cells ", {{4, 9, 2}, {6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 1}}\), SequenceForm[ "Cells ", {{6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 6}}\), SequenceForm[ "Cells ", {{6, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}}\), SequenceForm[ "Cells ", {{5, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 4, 1}}\), SequenceForm[ "Rows ", {{5, 4, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 6, 6}}\), SequenceForm[ "Cols ", {{4, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{4, 5, 7}}\), SequenceForm[ "Grids ", {{4, 5, 7}}], Editable->False]], "Print"], Cell[BoxData[ \({{0, 0, 0, 0, 0, 1, 0, 8, 0}, {2, 0, 5, 6, 0, 0, 0, 0, 4}, {0, 8, 0, 7, 0, 0, 0, 3, 0}, {0, 5, 1, 0, 7, 6, 0, 9, 2}, {0, 0, 0, 1, 9, 2, 0, 5, 8}, {0, 0, 2, 5, 0, 0, 7, 6, 1}, {4, 3, 0, 0, 1, 0, 0, 0, 6}, {0, 0, 7, 9, 6, 0, 0, 4, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(tmptmp = solveSudokoBasicBifurcated[sudoku]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 2}, {6, 9, 1}}\), SequenceForm[ "Cells ", {{4, 9, 2}, {6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 1}}\), SequenceForm[ "Cells ", {{6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 6}}\), SequenceForm[ "Cells ", {{6, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}}\), SequenceForm[ "Cells ", {{5, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 4, 1}}\), SequenceForm[ "Rows ", {{5, 4, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 6, 6}}\), SequenceForm[ "Cols ", {{4, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{4, 5, 7}}\), SequenceForm[ "Grids ", {{4, 5, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{2, 5, 3}}\), SequenceForm[ "Checking Bifurcation with ", {{2, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 6, 8}}\), SequenceForm[ "Rows ", {{2, 6, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 5}}\), SequenceForm[ "Cells ", {{8, 6, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 7}}\), SequenceForm[ "Cells ", {{7, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 2}}\), SequenceForm[ "Cells ", {{7, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 8}}\), SequenceForm[ "Cells ", {{7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}}\), SequenceForm[ "Cells ", {{7, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 5}}\), SequenceForm[ "Cells ", {{7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 2, 2}, {9, 1, 5}, {4, 1, 8}}\), SequenceForm[ "Rows ", {{8, 2, 2}, {9, 1, 5}, {4, 1, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 1, 5}, {4, 1, 8}}\), SequenceForm[ "Rows ", {{9, 1, 5}, {4, 1, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 1, 8}}\), SequenceForm[ "Rows ", {{4, 1, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 1}}\), SequenceForm[ "Cells ", {{8, 1, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 8}, {9, 2, 6}}\), SequenceForm[ "Cells ", {{8, 7, 8}, {9, 2, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 6}}\), SequenceForm[ "Cells ", {{9, 2, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 8}}\), SequenceForm[ "Cells ", {{9, 3, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 7, 1}, {6, 5, 8}}\), SequenceForm[ "Rows ", {{3, 7, 1}, {6, 5, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 9}, {2, 8, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 7, 9}, {2, 8, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ \("No way to put a number in one of the structures!"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "3", "8", "9", "0", "4"}, {"0", "8", "0", "7", "0", "0", "1", "3", "0"}, {"8", "5", "1", "0", "7", "6", "0", "9", "2"}, {"0", "0", "0", "1", "9", "2", "0", "5", "8"}, {"0", "0", "2", "5", "0", "0", "7", "6", "1"}, {"4", "3", "9", "8", "1", "7", "5", "2", "6"}, {"1", "2", "7", "9", "6", "5", "8", "4", "3"}, {"5", "6", "8", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("alternative guess chosen "\[InvisibleSpace]{{2, 5, 8}}\), SequenceForm[ "alternative guess chosen ", {{2, 5, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Bifurcation "\[InvisibleSpace]{1, {{2, 5, 8}}}\), SequenceForm[ "Bifurcation ", {1, {{2, 5, 8}}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 6, 3}}\), SequenceForm[ "Rows ", {{2, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{3, 6, 9}}\), SequenceForm[ "Cols ", {{3, 6, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 5}}\), SequenceForm[ "Cells ", {{3, 9, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 5, 5}}\), SequenceForm[ "Rows ", {{1, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{1, 4, 2}}\), SequenceForm[ "Checking Bifurcation with ", {{1, 4, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 4}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 5, 4}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 6}, {6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 3, 6}, {6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 2}, {6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 7, 2}, {6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 8}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 4, 8}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 4}, {7, 3, 9}, {8, 6, 5}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{4, 4, 4}, {7, 3, 9}, {8, 6, 5}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 3}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{4, 7, 3}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 8}, {5, 7, 4}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{4, 1, 8}, {5, 7, 4}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 4}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{5, 7, 4}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 3}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{5, 3, 3}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 4}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 2, 4}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 4}, {7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{1, 3, 4}, {7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 7}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 6, 7}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 2}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 8, 2}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("No way to put a number in one of the structures!"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "4", "2", "5", "1", "0", "8", "0"}, {"2", "0", "5", "6", "8", "3", "0", "0", "4"}, {"1", "8", "6", "7", "4", "9", "2", "3", "5"}, {"8", "5", "1", "4", "7", "6", "3", "9", "2"}, {"0", "0", "3", "1", "9", "2", "4", "5", "8"}, {"9", "4", "2", "5", "3", "8", "7", "6", "1"}, {"4", "3", "9", "8", "1", "7", "5", "2", "6"}, {"5", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("alternative guess chosen "\[InvisibleSpace]{{1, 4, 4}}\), SequenceForm[ "alternative guess chosen ", {{1, 4, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Bifurcation "\[InvisibleSpace]{1, {{1, 4, 4}}}\), SequenceForm[ "Bifurcation ", {1, {{1, 4, 4}}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 2}}\), SequenceForm[ "Cells ", {{3, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 7, 2}, {3, 3, 4}, {4, 7, 4}}\), SequenceForm[ "Rows ", {{1, 7, 2}, {3, 3, 4}, {4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 2, 2}, {3, 3, 4}, {4, 7, 4}}\), SequenceForm[ "Rows ", {{8, 2, 2}, {3, 3, 4}, {4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 3, 4}, {4, 7, 4}}\), SequenceForm[ "Rows ", {{3, 3, 4}, {4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 7, 4}}\), SequenceForm[ "Rows ", {{4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 3}}\), SequenceForm[ "Cells ", {{5, 7, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 6}}\), SequenceForm[ "Cells ", {{5, 3, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 7}}\), SequenceForm[ "Cells ", {{5, 1, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 4}}\), SequenceForm[ "Cells ", {{5, 2, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 9}}\), SequenceForm[ "Cells ", {{6, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 7, 9}}\), SequenceForm[ "Rows ", {{2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 7}}\), SequenceForm[ "Cells ", {{1, 9, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 6}, {2, 8, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{1, 2, 6}, {2, 8, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 8, 1}, {3, 1, 1}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{2, 8, 1}, {3, 1, 1}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 7}, {3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{2, 2, 7}, {3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 6}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{3, 7, 6}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 9}}\), SequenceForm[ "Cells ", {{9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 8}}\), SequenceForm[ "Cells ", {{9, 3, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}, {8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{7, 3, 9}, {8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 3}, {8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{1, 3, 3}, {8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 9}, {8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{1, 1, 9}, {8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 8}, {9, 1, 6}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{8, 6, 8}, {9, 1, 6}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 4}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{6, 6, 4}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 3}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{6, 5, 3}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 8}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{4, 4, 8}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 3}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{4, 1, 3}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 5}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{7, 6, 5}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 8}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{7, 7, 8}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"9", "6", "3", "4", "5", "1", "2", "8", "7"}, {"2", "7", "5", "6", "8", "3", "9", "1", "4"}, {"1", "8", "4", "7", "2", "9", "6", "3", "5"}, {"3", "5", "1", "8", "7", "6", "4", "9", "2"}, {"7", "4", "6", "1", "9", "2", "3", "5", "8"}, {"8", "9", "2", "5", "3", "4", "7", "6", "1"}, {"4", "3", "9", "2", "1", "5", "8", "7", "6"}, {"5", "2", "7", "9", "6", "8", "1", "4", "3"}, {"6", "1", "8", "3", "4", "7", "5", "2", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \({{9, 6, 3, 4, 5, 1, 2, 8, 7}, {2, 7, 5, 6, 8, 3, 9, 1, 4}, {1, 8, 4, 7, 2, 9, 6, 3, 5}, {3, 5, 1, 8, 7, 6, 4, 9, 2}, {7, 4, 6, 1, 9, 2, 3, 5, 8}, {8, 9, 2, 5, 3, 4, 7, 6, 1}, {4, 3, 9, 2, 1, 5, 8, 7, 6}, {5, 2, 7, 9, 6, 8, 1, 4, 3}, {6, 1, 8, 3, 4, 7, 5, 2, 9}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[tmptmp]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"9", "6", "3", "4", "5", "1", "2", "8", "7"}, {"2", "7", "5", "6", "8", "3", "9", "1", "4"}, {"1", "8", "4", "7", "2", "9", "6", "3", "5"}, {"3", "5", "1", "8", "7", "6", "4", "9", "2"}, {"7", "4", "6", "1", "9", "2", "3", "5", "8"}, {"8", "9", "2", "5", "3", "4", "7", "6", "1"}, {"4", "3", "9", "2", "1", "5", "8", "7", "6"}, {"5", "2", "7", "9", "6", "8", "1", "4", "3"}, {"6", "1", "8", "3", "4", "7", "5", "2", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[sudoku]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "0", "0", "0", "0", "4"}, {"0", "8", "0", "7", "0", "0", "0", "3", "0"}, {"0", "5", "1", "0", "0", "0", "0", "9", "0"}, {"0", "0", "0", "0", "9", "2", "0", "0", "8"}, {"0", "0", "2", "5", "0", "0", "7", "0", "0"}, {"4", "3", "0", "0", "1", "0", "0", "0", "6"}, {"0", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[tmptmp - sudoku]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"9", "6", "3", "4", "5", "0", "2", "0", "7"}, {"0", "7", "0", "0", "8", "3", "9", "1", "0"}, {"1", "0", "4", "0", "2", "9", "6", "0", "5"}, {"3", "0", "0", "8", "7", "6", "4", "0", "2"}, {"7", "4", "6", "1", "0", "0", "3", "5", "0"}, {"8", "9", "0", "0", "3", "4", "0", "6", "1"}, {"0", "0", "9", "2", "0", "5", "8", "7", "0"}, {"5", "2", "0", "0", "0", "8", "1", "0", "0"}, {"6", "1", "8", "3", "4", "7", "5", "2", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(checkSudokuLegal[tmptmp]\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Advanced Linear (with no bifurcation) Solution", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ advancedAnalysis[m] - an advanced analysis method that checks for each cell \ that has exactly two legal values, the consequences of choosing one of these \ values. It simulates assigning the cell each of the two legal values and then \ tests the resulting matrix: 1. whether there is a structure in which there is \ no way to put one of the un-assigned values; 2. whether there is a structure \ that has two cells that have the same only one legal value. These tests may \ show a logical contradiction, and in this case, the alternative legal value \ may be logically assigned to the cell. Next step is not arbitrary/random - the first potential next step is taken, \ once a legal value is elimintated in any of the two-legal-values cells. A \ simple upgrade can be to make the algorithm select a random next step out of \ the potential options for the analysis. \ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(advancedAnalysis[ m_] := \[IndentingNewLine]Module[{tmp = singleCellsAnalysis[m, 2], i, m1, returnvalue}, \[IndentingNewLine]returnvalue = {}; \ \[IndentingNewLine]For[i = 1, \ i \[LessEqual] \ Length[tmp], \(i++\), {\[IndentingNewLine]m1 = \ \[IndentingNewLine]ReplacePart[ m, \(legalvalues[m, tmp[\([i, 1]\)], tmp[\([i, 2]\)]]\)[\([1]\)], \[IndentingNewLine]{tmp[\([i, 1]\)], tmp[\([i, 2]\)]}]; \[IndentingNewLine]If[\((\((\(! \ checkSudokuTwoIdenticalOptions[m1]\))\)\ || \ \((\(! checkSudokuZeroOptions[ m1]\))\))\), {returnvalue = List[List[tmp[\([i, 1]\)], tmp[\([i, 2]\)], \(legalvalues[m, tmp[\([i, 1]\)], tmp[\([i, 2]\)]]\)[\([2]\)]]]; Break[]}]; \[IndentingNewLine]m1 = \ \[IndentingNewLine]ReplacePart[ m, \(legalvalues[m, tmp[\([i, 1]\)], tmp[\([i, 2]\)]]\)[\([2]\)], \[IndentingNewLine]{tmp[\([i, 1]\)], tmp[\([i, 2]\)]}]; \[IndentingNewLine]If[\((\((\(! \ checkSudokuTwoIdenticalOptions[m1]\))\)\ || \ \((\(! checkSudokuZeroOptions[ m1]\))\))\), {returnvalue = List[List[tmp[\([i, 1]\)], tmp[\([i, 2]\)], \(legalvalues[m, tmp[\([i, 1]\)], tmp[\([i, 2]\)]]\)[\([1]\)]]]; Break[];}];\[IndentingNewLine]}]; \ \[IndentingNewLine]returnvalue\[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(advancedAnalysis[sudokuadvanced]\)], "Input"], Cell[BoxData[ \({{4, 6, 2}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ solveSudokoAdvanced[m] - using advanced logical analysis when attempts to \ solve m - returning the solution or the final state it managed to create. \ Based on straightforward five logical-deduction ways, hence deterministic. If \ a solution is found, it is a unique solution and does not require \ bifurcations. It also prints out the process of solution. No checks are made \ for legality of m or whether it has logical contradictions. Next step is not arbitrary/random - the first potential next step is taken. A \ simple upgrade can be to make the algorithm select a random next step out of \ the potential options for the five logical-deduction ways.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(solveSudokoAdvanced[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]If[ Length[\((tmp = singleCellsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvanced[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleRowsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvanced[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleColsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvanced[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleGridsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvanced[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = advancedAnalysis[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvanced[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \ \[IndentingNewLine]m\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell["Examples", "Subsubsection", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["examples", "Subsection"], Cell[BoxData[ \(sudokujune242005hard\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuLegal[sudokujune242005hard]\)\(\ \)\( (*\ prior\ legality\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuZeroOptions[sudokujune242005hard]\)\(\ \)\( (*\ prior\ 0 - options\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuTwoIdenticalOptions[sudokujune242005hard]\)\(\ \)\( (*\ prior\ 2 - options\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(solveSudokoAdvanced[sudokujune242005hard]\)\(\ \)\( (*\ run\ only\ if\ the\ above\ three\ tests\ return\ True\ *) \)\)\)], \ "Input"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 3, 5}, {8, 7, 5}, {1, 2, 6}, {9, 3, 7}}\), SequenceForm[ "Rows ", {{2, 3, 5}, {8, 7, 5}, {1, 2, 6}, {9, 3, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 7, 5}, {1, 2, 6}, {9, 3, 7}}\), SequenceForm[ "Rows ", {{8, 7, 5}, {1, 2, 6}, {9, 3, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 8, 5}, {6, 5, 5}, {1, 2, 6}, {9, 3, 7}, {8, 9, 9}}\), SequenceForm[ "Rows ", {{5, 8, 5}, {6, 5, 5}, {1, 2, 6}, {9, 3, 7}, {8, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 5, 5}, {1, 2, 6}, {9, 3, 7}, {8, 9, 9}}\), SequenceForm[ "Rows ", {{6, 5, 5}, {1, 2, 6}, {9, 3, 7}, {8, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 2, 6}, {9, 3, 7}, {8, 9, 9}}\), SequenceForm[ "Rows ", {{1, 2, 6}, {9, 3, 7}, {8, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 3, 7}, {8, 9, 9}}\), SequenceForm[ "Rows ", {{9, 3, 7}, {8, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 4, 6}, {8, 9, 9}}\), SequenceForm[ "Rows ", {{9, 4, 6}, {8, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 9, 9}}\), SequenceForm[ "Rows ", {{8, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{6, 6, 6}, {7, 7, 6}, {4, 5, 9}, {2, 7, 9}}\), SequenceForm[ "Cols ", {{6, 6, 6}, {7, 7, 6}, {4, 5, 9}, {2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{7, 7, 6}, {4, 5, 9}, {2, 7, 9}}\), SequenceForm[ "Cols ", {{7, 7, 6}, {4, 5, 9}, {2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 5, 9}, {2, 7, 9}}\), SequenceForm[ "Cols ", {{4, 5, 9}, {2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{2, 7, 9}}\), SequenceForm[ "Cols ", {{2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{3, 8, 1}, {2, 1, 2}}\), SequenceForm[ "Grids ", {{3, 8, 1}, {2, 1, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 9, 8}}\), SequenceForm[ "Rows ", {{3, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 6, 7}}\), SequenceForm[ "Rows ", {{3, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 7, 7}}\), SequenceForm[ "Rows ", {{1, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 1}}\), SequenceForm[ "Cells ", {{5, 7, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 9}, {6, 7, 8}}\), SequenceForm[ "Cells ", {{5, 2, 9}, {6, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 8}}\), SequenceForm[ "Cells ", {{6, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 3}}\), SequenceForm[ "Cells ", {{4, 7, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 3, 8}, {3, 1, 9}}\), SequenceForm[ "Rows ", {{4, 3, 8}, {3, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 1, 9}}\), SequenceForm[ "Rows ", {{3, 1, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{2, 1, 2}}\), SequenceForm[ "Grids ", {{2, 1, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Advanced "\[InvisibleSpace]{{9, 5, 2}}\), SequenceForm[ "Advanced ", {{9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 5, 4}}\), SequenceForm[ "Cells ", {{1, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 3}}\), SequenceForm[ "Cells ", {{1, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 6, 2}, {2, 9, 4}, {9, 8, 8}}\), SequenceForm[ "Cells ", {{1, 6, 2}, {2, 9, 4}, {9, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 4}, {4, 6, 1}, {9, 8, 8}}\), SequenceForm[ "Cells ", {{2, 9, 4}, {4, 6, 1}, {9, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 6, 1}, {9, 8, 8}}\), SequenceForm[ "Cells ", {{4, 6, 1}, {9, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 3}, {9, 8, 8}}\), SequenceForm[ "Cells ", {{2, 6, 3}, {9, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 4}, {9, 8, 8}}\), SequenceForm[ "Cells ", {{8, 6, 4}, {9, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 8}}\), SequenceForm[ "Cells ", {{9, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 2}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{7, 8, 2}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 4}, {7, 9, 3}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{4, 8, 4}, {7, 9, 3}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 7}, {7, 9, 3}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{4, 1, 7}, {7, 9, 3}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 2}, {5, 1, 6}, {7, 9, 3}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{4, 4, 2}, {5, 1, 6}, {7, 9, 3}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 6}, {6, 4, 7}, {7, 9, 3}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{5, 1, 6}, {6, 4, 7}, {7, 9, 3}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 2}, {6, 4, 7}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{5, 3, 2}, {6, 4, 7}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 7}, {6, 3, 4}, {6, 4, 7}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{5, 9, 7}, {6, 3, 4}, {6, 4, 7}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 3, 4}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{6, 3, 4}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 3}, {6, 2, 1}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{3, 3, 3}, {6, 2, 1}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 4}, {6, 2, 1}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{3, 2, 4}, {6, 2, 1}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 1}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{6, 2, 1}, {6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{6, 4, 7}, {6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{6, 9, 2}, {7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{7, 9, 3}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 8}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{7, 2, 8}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 1}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{7, 4, 1}, {8, 1, 1}, {8, 3, 6}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 4, 8}, {7, 1, 4}, {8, 1, 1}, {8, 3, 6}, {8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{2, 4, 8}, {7, 1, 4}, {8, 1, 1}, {8, 3, 6}, {8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 5, 1}, {7, 1, 4}, {8, 1, 1}, {8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{2, 5, 1}, {7, 1, 4}, {8, 1, 1}, {8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 4}, {8, 1, 1}, {8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{7, 1, 4}, {8, 1, 1}, {8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 1}, {8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{8, 1, 1}, {8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{8, 3, 6}, {8, 4, 3}, {8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 3}, {8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{8, 4, 3}, {8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 8}, {9, 2, 3}}\), SequenceForm[ "Cells ", {{8, 5, 8}, {9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 3}}\), SequenceForm[ "Cells ", {{9, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ \({{8, 6, 1, 9, 4, 2, 7, 3, 5}, {2, 7, 5, 8, 1, 3, 9, 6, 4}, {9, 4, 3, 5, 6, 7, 2, 1, 8}, {7, 5, 8, 2, 9, 1, 3, 4, 6}, {6, 9, 2, 4, 3, 8, 1, 5, 7}, {3, 1, 4, 7, 5, 6, 8, 9, 2}, {4, 8, 9, 1, 7, 5, 6, 2, 3}, {1, 2, 6, 3, 8, 4, 5, 7, 9}, {5, 3, 7, 6, 2, 9, 4, 8, 1}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[%]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"8", "6", "1", "9", "4", "2", "7", "3", "5"}, {"2", "7", "5", "8", "1", "3", "9", "6", "4"}, {"9", "4", "3", "5", "6", "7", "2", "1", "8"}, {"7", "5", "8", "2", "9", "1", "3", "4", "6"}, {"6", "9", "2", "4", "3", "8", "1", "5", "7"}, {"3", "1", "4", "7", "5", "6", "8", "9", "2"}, {"4", "8", "9", "1", "7", "5", "6", "2", "3"}, {"1", "2", "6", "3", "8", "4", "5", "7", "9"}, {"5", "3", "7", "6", "2", "9", "4", "8", "1"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuLegal[sudokujune232005]\)\(\ \)\( (*\ prior\ legality\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuZeroOptions[sudokujune232005]\)\(\ \)\( (*\ prior\ 0 - options\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(checkSudokuTwoIdenticalOptions[sudokujune232005]\)\(\ \)\( (*\ prior\ 2 - options\ check\ *) \)\)\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(solveSudokoAdvanced[sudokujune232005]\)\(\ \)\( (*\ run\ only\ if\ the\ above\ three\ tests\ return\ True\ *) \)\)\)], \ "Input"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 8, 1}, {1, 1, 4}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{9, 8, 1}, {1, 1, 4}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 1, 4}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{1, 1, 4}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 4, 1}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{1, 4, 1}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 6, 1}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{6, 6, 1}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 2, 3}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{6, 2, 3}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 6, 3}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{4, 6, 3}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 5, 4}}\), SequenceForm[ "Rows ", {{5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{7, 2, 6}}\), SequenceForm[ "Cols ", {{7, 2, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{5, 2, 2}}\), SequenceForm[ "Grids ", {{5, 2, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Advanced "\[InvisibleSpace]{{1, 5, 8}}\), SequenceForm[ "Advanced ", {{1, 5, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 9}}\), SequenceForm[ "Cells ", {{1, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 2}}\), SequenceForm[ "Cells ", {{1, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 9, 9}}\), SequenceForm[ "Rows ", {{9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 7, 9}}\), SequenceForm[ "Rows ", {{2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 8}}\), SequenceForm[ "Cells ", {{6, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 7}, {7, 7, 5}}\), SequenceForm[ "Cells ", {{6, 9, 7}, {7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 2}, {7, 7, 5}}\), SequenceForm[ "Cells ", {{6, 4, 2}, {7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {7, 7, 5}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 5}}\), SequenceForm[ "Cells ", {{7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 4}}\), SequenceForm[ "Cells ", {{8, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 1}}\), SequenceForm[ "Cells ", {{3, 7, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 1, 1}, {7, 9, 2}, {3, 9, 4}}\), SequenceForm[ "Rows ", {{2, 1, 1}, {7, 9, 2}, {3, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 9, 2}, {2, 3, 3}, {3, 9, 4}}\), SequenceForm[ "Rows ", {{7, 9, 2}, {2, 3, 3}, {3, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 8}}\), SequenceForm[ "Cells ", {{8, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 5, 2}, {2, 3, 3}, {3, 9, 4}}\), SequenceForm[ "Rows ", {{8, 5, 2}, {2, 3, 3}, {3, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 3, 3}, {3, 9, 4}, {8, 4, 6}}\), SequenceForm[ "Rows ", {{2, 3, 3}, {3, 9, 4}, {8, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 7}}\), SequenceForm[ "Cells ", {{8, 3, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 3}}\), SequenceForm[ "Cells ", {{8, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 1, 5}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 1, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 8}, {8, 1, 5}}\), SequenceForm[ "Cells ", {{7, 4, 8}, {8, 1, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{7, 3, 9}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 3, 8}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{4, 3, 8}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 2}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{3, 3, 2}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 3}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{7, 1, 3}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 6}, {9, 2, 8}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{8, 4, 6}, {9, 2, 8}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 8}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{9, 2, 8}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 7}}\), SequenceForm[ "Cells ", {{9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 6, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 5, 7}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 5, 7}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 5}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 2, 5}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 2}, {2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 6, 2}, {2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 8}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 1, 8}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 4}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 9, 4}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 4, 7}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 4, 7}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 5}, {5, 1, 9}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 4, 5}, {5, 1, 9}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 5, 6}, {5, 1, 9}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 5, 6}, {5, 1, 9}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 9}, {5, 1, 9}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 8, 9}, {5, 1, 9}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 7}, {5, 1, 9}, {5, 8, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 1, 7}, {5, 1, 9}, {5, 8, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 9}, {5, 8, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 1, 9}, {5, 8, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 8, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 5}}\), SequenceForm[ "Cells ", {{9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ \({{4, 9, 6, 1, 8, 5, 7, 2, 3}, {1, 5, 3, 4, 7, 2, 9, 8, 6}, {8, 7, 2, 9, 3, 6, 1, 5, 4}, {7, 4, 8, 5, 6, 3, 2, 9, 1}, {9, 2, 1, 7, 4, 8, 3, 6, 5}, {6, 3, 5, 2, 9, 1, 8, 4, 7}, {3, 6, 9, 8, 1, 4, 5, 7, 2}, {5, 1, 7, 6, 2, 9, 4, 3, 8}, {2, 8, 4, 3, 5, 7, 6, 1, 9}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(solveSudokoAdvanced[sudoku]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 2}, {6, 9, 1}}\), SequenceForm[ "Cells ", {{4, 9, 2}, {6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 1}}\), SequenceForm[ "Cells ", {{6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 6}}\), SequenceForm[ "Cells ", {{6, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}}\), SequenceForm[ "Cells ", {{5, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 4, 1}}\), SequenceForm[ "Rows ", {{5, 4, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 6, 6}}\), SequenceForm[ "Cols ", {{4, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{4, 5, 7}}\), SequenceForm[ "Grids ", {{4, 5, 7}}], Editable->False]], "Print"], Cell[BoxData[ \({{0, 0, 0, 0, 0, 1, 0, 8, 0}, {2, 0, 5, 6, 0, 0, 0, 0, 4}, {0, 8, 0, 7, 0, 0, 0, 3, 0}, {0, 5, 1, 0, 7, 6, 0, 9, 2}, {0, 0, 0, 1, 9, 2, 0, 5, 8}, {0, 0, 2, 5, 0, 0, 7, 6, 1}, {4, 3, 0, 0, 1, 0, 0, 0, 6}, {0, 0, 7, 9, 6, 0, 0, 4, 3}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Advanced Bifurcated Solution", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ solveSudokoAdvancedBifurcated[m] - adding the advanced analysis above, \ attempts (together with bifurcationAdvanced[m]) to solve m - returning the \ solution or the final state it managed to create. In addition to the \ straightforward deterministic five logical-deduction ways, bifurcation is \ used if all these five ways fail. In this version (see a different version in \ the \"Creating sudokus\" section below), a solution is not essentially \ unique. The process of solution is printed out. Because the bifurcation may \ result in dead-ends, this method does include checks for legality of m and \ whether it has logical contradictions. Next step is not arbitrary/random - the first potential next step is taken. A \ simple upgrade can be to make the algorithm select a random next step out of \ the potential options for the five logical-deduction ways.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(\[IndentingNewLine]\)\(\ solveSudokoAdvancedBifurcated[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]If[\(! \ MemberQ[Flatten[m], 0]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuLegal[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuZeroOptions[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[ Length[\((tmp = singleCellsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleRowsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleColsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleGridsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = advancedAnalysis[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcated[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[\((tmp = bifurcationAdvanced[m])\)[\([1]\)] === 2, \[IndentingNewLine]Print["\"]; Print[MatrixForm[tmp[\([2]\)]]]; tmp[\([2]\)], \[IndentingNewLine]If[ Length[\((tmp[\([2]\)])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcated[ ReplacePart[ m, \(tmp[\([2]\)]\)[\([1, 3]\)], {\(tmp[\([2]\)]\)[\([1, 1]\)], \(tmp[\([2]\)]\)[\([1, 2]\)]}]], \[IndentingNewLine]m\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\)\)\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["\<\ bifurcationAdvanced[m] - adaptation of bifurcation[m] to the advanced \ analysis bifurcation procedure. No important difference, except that this \ function calls solveSudokoAdvancedBifurcated instad of \ solveSudokoBasicBifurcated.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(bifurcationAdvanced[ m_] := \[IndentingNewLine]Module[{tmp = singleCellsAnalysis[m, 2], solution, tmplist}, \ (*\ singleCellsAnalysis[m, 2]\ lists\ the\ positions\ of\ non - empty\ cells\ cells\ with\ exactly\ two\ legal\ values\ \ *) \[IndentingNewLine]If[ Length[tmp] > 0, \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]If[ MemberQ[Flatten[\((solution = solveSudokoAdvancedBifurcated[ ReplacePart[ m, \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]])\)], 0], \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([2]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[1, tmplist])\), \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[2, solution])\)\[IndentingNewLine]], {1, {}}\[IndentingNewLine]]\ \[IndentingNewLine]]\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["examples", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(solveSudokoAdvancedBifurcated[sudokujune232005]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 8, 1}, {1, 1, 4}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{9, 8, 1}, {1, 1, 4}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 1, 4}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{1, 1, 4}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 4, 1}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{1, 4, 1}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 6, 1}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{6, 6, 1}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 2, 3}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{6, 2, 3}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 6, 3}, {5, 5, 4}}\), SequenceForm[ "Rows ", {{4, 6, 3}, {5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 5, 4}}\), SequenceForm[ "Rows ", {{5, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{7, 2, 6}}\), SequenceForm[ "Cols ", {{7, 2, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{5, 2, 2}}\), SequenceForm[ "Grids ", {{5, 2, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Advanced "\[InvisibleSpace]{{1, 5, 8}}\), SequenceForm[ "Advanced ", {{1, 5, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 9}}\), SequenceForm[ "Cells ", {{1, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 2}}\), SequenceForm[ "Cells ", {{1, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 9, 9}}\), SequenceForm[ "Rows ", {{9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 7, 9}}\), SequenceForm[ "Rows ", {{2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 8}}\), SequenceForm[ "Cells ", {{6, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 7}, {7, 7, 5}}\), SequenceForm[ "Cells ", {{6, 9, 7}, {7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 2}, {7, 7, 5}}\), SequenceForm[ "Cells ", {{6, 4, 2}, {7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {7, 7, 5}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 5}}\), SequenceForm[ "Cells ", {{7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 4}}\), SequenceForm[ "Cells ", {{8, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 1}}\), SequenceForm[ "Cells ", {{3, 7, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 1, 1}, {7, 9, 2}, {3, 9, 4}}\), SequenceForm[ "Rows ", {{2, 1, 1}, {7, 9, 2}, {3, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 9, 2}, {2, 3, 3}, {3, 9, 4}}\), SequenceForm[ "Rows ", {{7, 9, 2}, {2, 3, 3}, {3, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 8}}\), SequenceForm[ "Cells ", {{8, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 5, 2}, {2, 3, 3}, {3, 9, 4}}\), SequenceForm[ "Rows ", {{8, 5, 2}, {2, 3, 3}, {3, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 3, 3}, {3, 9, 4}, {8, 4, 6}}\), SequenceForm[ "Rows ", {{2, 3, 3}, {3, 9, 4}, {8, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 7}}\), SequenceForm[ "Cells ", {{8, 3, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 3}}\), SequenceForm[ "Cells ", {{8, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 1, 5}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 1, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 8}, {8, 1, 5}}\), SequenceForm[ "Cells ", {{7, 4, 8}, {8, 1, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{7, 3, 9}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 3, 8}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{4, 3, 8}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 2}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{3, 3, 2}, {7, 1, 3}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 3}, {8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{7, 1, 3}, {8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 5}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{8, 1, 5}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 6}, {9, 2, 8}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{8, 4, 6}, {9, 2, 8}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 8}, {9, 6, 7}}\), SequenceForm[ "Cells ", {{9, 2, 8}, {9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 7}}\), SequenceForm[ "Cells ", {{9, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 6, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 5, 7}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 5, 7}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 5}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 2, 5}, {2, 6, 2}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 2}, {2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 6, 2}, {2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 2, 7}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 8}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 1, 8}, {3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 8, 5}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 4}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{3, 9, 4}, {5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 8}, {5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 6, 8}, {5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 5}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 9, 5}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 4, 7}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 4, 7}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 5}, {5, 1, 9}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 4, 5}, {5, 1, 9}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 5, 6}, {5, 1, 9}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 5, 6}, {5, 1, 9}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 9}, {5, 1, 9}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 8, 9}, {5, 1, 9}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 7}, {5, 1, 9}, {5, 8, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{4, 1, 7}, {5, 1, 9}, {5, 8, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 9}, {5, 8, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 1, 9}, {5, 8, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 6}, {9, 5, 5}}\), SequenceForm[ "Cells ", {{5, 8, 6}, {9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 5}}\), SequenceForm[ "Cells ", {{9, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"4", "9", "6", "1", "8", "5", "7", "2", "3"}, {"1", "5", "3", "4", "7", "2", "9", "8", "6"}, {"8", "7", "2", "9", "3", "6", "1", "5", "4"}, {"7", "4", "8", "5", "6", "3", "2", "9", "1"}, {"9", "2", "1", "7", "4", "8", "3", "6", "5"}, {"6", "3", "5", "2", "9", "1", "8", "4", "7"}, {"3", "6", "9", "8", "1", "4", "5", "7", "2"}, {"5", "1", "7", "6", "2", "9", "4", "3", "8"}, {"2", "8", "4", "3", "5", "7", "6", "1", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \({{4, 9, 6, 1, 8, 5, 7, 2, 3}, {1, 5, 3, 4, 7, 2, 9, 8, 6}, {8, 7, 2, 9, 3, 6, 1, 5, 4}, {7, 4, 8, 5, 6, 3, 2, 9, 1}, {9, 2, 1, 7, 4, 8, 3, 6, 5}, {6, 3, 5, 2, 9, 1, 8, 4, 7}, {3, 6, 9, 8, 1, 4, 5, 7, 2}, {5, 1, 7, 6, 2, 9, 4, 3, 8}, {2, 8, 4, 3, 5, 7, 6, 1, 9}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(solveSudokoAdvancedBifurcated[sudoku]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 2}, {6, 9, 1}}\), SequenceForm[ "Cells ", {{4, 9, 2}, {6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 1}}\), SequenceForm[ "Cells ", {{6, 9, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 6}}\), SequenceForm[ "Cells ", {{6, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}}\), SequenceForm[ "Cells ", {{5, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 4, 1}}\), SequenceForm[ "Rows ", {{5, 4, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 6, 6}}\), SequenceForm[ "Cols ", {{4, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{4, 5, 7}}\), SequenceForm[ "Grids ", {{4, 5, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{2, 5, 3}}\), SequenceForm[ "Checking Bifurcation with ", {{2, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 6, 8}}\), SequenceForm[ "Rows ", {{2, 6, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 5}}\), SequenceForm[ "Cells ", {{8, 6, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 7}}\), SequenceForm[ "Cells ", {{7, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 2}}\), SequenceForm[ "Cells ", {{7, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 8}}\), SequenceForm[ "Cells ", {{7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}}\), SequenceForm[ "Cells ", {{7, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 5}}\), SequenceForm[ "Cells ", {{7, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 2, 2}, {9, 1, 5}, {4, 1, 8}}\), SequenceForm[ "Rows ", {{8, 2, 2}, {9, 1, 5}, {4, 1, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 1, 5}, {4, 1, 8}}\), SequenceForm[ "Rows ", {{9, 1, 5}, {4, 1, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 1, 8}}\), SequenceForm[ "Rows ", {{4, 1, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 1}}\), SequenceForm[ "Cells ", {{8, 1, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 8}, {9, 2, 6}}\), SequenceForm[ "Cells ", {{8, 7, 8}, {9, 2, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 6}}\), SequenceForm[ "Cells ", {{9, 2, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 8}}\), SequenceForm[ "Cells ", {{9, 3, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 7, 1}, {6, 5, 8}}\), SequenceForm[ "Rows ", {{3, 7, 1}, {6, 5, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 9}, {2, 8, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 7, 9}, {2, 8, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ \("No way to put a number in one of the structures!"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "1", "0", "8", "0"}, {"2", "0", "5", "6", "3", "8", "9", "0", "4"}, {"0", "8", "0", "7", "0", "0", "1", "3", "0"}, {"8", "5", "1", "0", "7", "6", "0", "9", "2"}, {"0", "0", "0", "1", "9", "2", "0", "5", "8"}, {"0", "0", "2", "5", "0", "0", "7", "6", "1"}, {"4", "3", "9", "8", "1", "7", "5", "2", "6"}, {"1", "2", "7", "9", "6", "5", "8", "4", "3"}, {"5", "6", "8", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("alternative guess chosen "\[InvisibleSpace]{{2, 5, 8}}\), SequenceForm[ "alternative guess chosen ", {{2, 5, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Bifurcation "\[InvisibleSpace]{1, {{2, 5, 8}}}\), SequenceForm[ "Bifurcation ", {1, {{2, 5, 8}}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 6, 3}}\), SequenceForm[ "Rows ", {{2, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{3, 6, 9}}\), SequenceForm[ "Cols ", {{3, 6, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 5}}\), SequenceForm[ "Cells ", {{3, 9, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 5, 5}}\), SequenceForm[ "Rows ", {{1, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{1, 4, 2}}\), SequenceForm[ "Checking Bifurcation with ", {{1, 4, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 4}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 5, 4}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 6}, {6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 3, 6}, {6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 2}, {6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{3, 7, 2}, {6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 3}, {7, 4, 8}}\), SequenceForm[ "Cells ", {{6, 5, 3}, {7, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 8}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 4, 8}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 4}, {7, 3, 9}, {8, 6, 5}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{4, 4, 4}, {7, 3, 9}, {8, 6, 5}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 3}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{4, 7, 3}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 8}, {5, 7, 4}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{4, 1, 8}, {5, 7, 4}, {6, 6, 8}, {7, 3, 9}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 4}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{5, 7, 4}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 3}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{5, 3, 3}, {6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 1, 9}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 4}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 2, 4}, {6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 6, 8}, {7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 3, 9}, {8, 1, 5}, {8, 6, 5}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 4}, {7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{1, 3, 4}, {7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 7, 5}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 7}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 6, 7}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 2}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 8, 2}, {8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{8, 1, 5}, {8, 6, 5}, {9, 3, 8}, {9, 4, 3}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("No way to put a number in one of the structures!"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "4", "2", "5", "1", "0", "8", "0"}, {"2", "0", "5", "6", "8", "3", "0", "0", "4"}, {"1", "8", "6", "7", "4", "9", "2", "3", "5"}, {"8", "5", "1", "4", "7", "6", "3", "9", "2"}, {"0", "0", "3", "1", "9", "2", "4", "5", "8"}, {"9", "4", "2", "5", "3", "8", "7", "6", "1"}, {"4", "3", "9", "8", "1", "7", "5", "2", "6"}, {"5", "0", "7", "9", "6", "0", "0", "4", "3"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("alternative guess chosen "\[InvisibleSpace]{{1, 4, 4}}\), SequenceForm[ "alternative guess chosen ", {{1, 4, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Bifurcation "\[InvisibleSpace]{1, {{1, 4, 4}}}\), SequenceForm[ "Bifurcation ", {1, {{1, 4, 4}}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 2}}\), SequenceForm[ "Cells ", {{3, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 7, 2}, {3, 3, 4}, {4, 7, 4}}\), SequenceForm[ "Rows ", {{1, 7, 2}, {3, 3, 4}, {4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 2, 2}, {3, 3, 4}, {4, 7, 4}}\), SequenceForm[ "Rows ", {{8, 2, 2}, {3, 3, 4}, {4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 3, 4}, {4, 7, 4}}\), SequenceForm[ "Rows ", {{3, 3, 4}, {4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 7, 4}}\), SequenceForm[ "Rows ", {{4, 7, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 3}}\), SequenceForm[ "Cells ", {{5, 7, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 6}}\), SequenceForm[ "Cells ", {{5, 3, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 7}}\), SequenceForm[ "Cells ", {{5, 1, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 4}}\), SequenceForm[ "Cells ", {{5, 2, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 9}}\), SequenceForm[ "Cells ", {{6, 2, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 7, 9}}\), SequenceForm[ "Rows ", {{2, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 7}}\), SequenceForm[ "Cells ", {{1, 9, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 6}, {2, 8, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{1, 2, 6}, {2, 8, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 8, 1}, {3, 1, 1}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{2, 8, 1}, {3, 1, 1}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 7}, {3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{2, 2, 7}, {3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {3, 7, 6}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 6}, {9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{3, 7, 6}, {9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 1}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{9, 2, 1}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 9}}\), SequenceForm[ "Cells ", {{9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 8}}\), SequenceForm[ "Cells ", {{9, 3, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 9}, {8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{7, 3, 9}, {8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 3}, {8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{1, 3, 3}, {8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 9}, {8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{1, 1, 9}, {8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 5}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{8, 1, 5}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 8}, {9, 1, 6}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{8, 6, 8}, {9, 1, 6}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 4}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{6, 6, 4}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 3}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{6, 5, 3}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 8}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{4, 4, 8}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 3}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{4, 1, 3}, {6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{6, 1, 8}, {7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{7, 4, 2}, {8, 7, 1}, {9, 1, 6}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 5}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{7, 6, 5}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 8}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{7, 7, 8}, {8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{8, 7, 1}, {9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 1, 6}, {9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 4, 3}, {9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 5, 4}, {9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 7}, {9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 6, 7}, {9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 5}, {9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 7, 5}, {9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 2}}\), SequenceForm[ "Cells ", {{9, 8, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"9", "6", "3", "4", "5", "1", "2", "8", "7"}, {"2", "7", "5", "6", "8", "3", "9", "1", "4"}, {"1", "8", "4", "7", "2", "9", "6", "3", "5"}, {"3", "5", "1", "8", "7", "6", "4", "9", "2"}, {"7", "4", "6", "1", "9", "2", "3", "5", "8"}, {"8", "9", "2", "5", "3", "4", "7", "6", "1"}, {"4", "3", "9", "2", "1", "5", "8", "7", "6"}, {"5", "2", "7", "9", "6", "8", "1", "4", "3"}, {"6", "1", "8", "3", "4", "7", "5", "2", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \({{9, 6, 3, 4, 5, 1, 2, 8, 7}, {2, 7, 5, 6, 8, 3, 9, 1, 4}, {1, 8, 4, 7, 2, 9, 6, 3, 5}, {3, 5, 1, 8, 7, 6, 4, 9, 2}, {7, 4, 6, 1, 9, 2, 3, 5, 8}, {8, 9, 2, 5, 3, 4, 7, 6, 1}, {4, 3, 9, 2, 1, 5, 8, 7, 6}, {5, 2, 7, 9, 6, 8, 1, 4, 3}, {6, 1, 8, 3, 4, 7, 5, 2, 9}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Creating Sudokus", "Section", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ Part 1: createSudoku[ ] - creating a legal sudoku matrix. The method here to create the matrix is simple: we create first three rows, \ transpose the matrix and create again three first rows. Then we add (with \ caution) the fourth row. Whenever adding lines fails, the procedure gets back \ and retry. Statistically, rarely this process does not succeed. Assuming this phase has succeeded, the resultant matrix is then used as an \ input to the basic bifurcating algorithm and usually this results a legal \ full sudoku matrix. If not, we can always try again. BTW, transposing and \ adding a fourth line to the transposed matrix often yields unsolvable matrix. \ We added some printouts to track the process - these can be easily deleted. Two aid functions are defined for the process.\ \>", "Subsection", InitializationCell->True], Cell[BoxData[ \(randompermutation[ set_] := \(Permutations[ set]\)[\([Random[ Integer, {1, Length[Permutations[set]]}]]\)]\)], "Input", InitializationCell->True], Cell[BoxData[ \(restoptions[set_] := Complement[{1, 2, 3, 4, 5, 6, 7, 8, 9}, set]\)], "Input", InitializationCell->True], Cell["\<\ Off[General::spell] (* just to stop the warning beeps in defining \ \"createSudoku\" *)\ \>", "Input", InitializationCell->True], Cell["Off[General::spell1]", "Input", InitializationCell->True], Cell[BoxData[ \(\(\(createSudoku[] := \[IndentingNewLine]Module[{line1, line2, line3, line2a, line2b, line2c, line3a, line3b, line3c, i, j = 0, okFlag = False, sudoku1, sudoku2}, \[IndentingNewLine]While[\((\((\(! okFlag\))\)\ && \ \((\ \((\(j++\))\) < 100)\))\), {\[IndentingNewLine]line1 = randompermutation[{1, 2, 3, 4, 5, 6, 7, 8, 9}]; \[IndentingNewLine]i = 0; \ line2c = {}; While[\((\((\((\(i++\))\) < 100)\)\ && \ \((Length[line2c] < 3)\))\), {\[IndentingNewLine]line2a = Take[randompermutation[ restoptions[Take[line1, {1, 3}]]], {1, 3}]; \[IndentingNewLine]line2b = Take[randompermutation[ restoptions[Union[Take[line1, {4, 6}], line2a]]], {1, 3}]; \[IndentingNewLine]line2c = randompermutation[ restoptions[ Union[Take[line1, {7, 9}], line2a, line2b]]];\[IndentingNewLine]}]; \ \[IndentingNewLine]If[i \[GreaterEqual] 100, Continue[{}]]; \[IndentingNewLine]i = 0; \ line3c = {}; While[\((\((\((\(i++\))\) < 100)\)\ && \ \((Length[line3c] < 3)\))\), {\[IndentingNewLine]line3a = randompermutation[ restoptions[ Union[Take[line1, {1, 3}], line2a]]]; \[IndentingNewLine]line3b = randompermutation[ restoptions[ Union[Take[line1, {4, 6}], line2b, line3a]]]; \[IndentingNewLine]line3c = randompermutation[ restoptions[ Union[Take[line1, {7, 9}], line2c, line3a, line3b]]];\[IndentingNewLine]}]; \ \[IndentingNewLine]If[i \[GreaterEqual] 100, Continue[{}]]; \[IndentingNewLine]sudoku1 = Table[Table[ 0, {r, 9}, {c, 9}]\[IndentingNewLine]]; \[IndentingNewLine]sudoku1 = ReplacePart[sudoku1, line1, 1]; \[IndentingNewLine]line2 = Join[line2a, line2b, line2c]; \[IndentingNewLine]line3 = Join[line3a, line3b, line3c]; \[IndentingNewLine]sudoku1 = ReplacePart[sudoku1, line2, 2]; \[IndentingNewLine]sudoku1 = ReplacePart[sudoku1, line3, 3]; \[IndentingNewLine]sudoku1 = Transpose[sudoku1]; \[IndentingNewLine]line1 = Join[Take[sudoku1[\([1]\)], {1, 3}], Take[randompermutation[ restoptions[Take[sudoku1[\([1]\)], {1, 3}]]], {1, 6}]]; \[IndentingNewLine]i = 0; \ line2c = {}; While[\((\((\((\(i++\))\) < 100)\)\ && \ \((Length[line2c] < 3)\))\), {\[IndentingNewLine]line2a = Take[sudoku1[\([2]\)], {1, 3}]; \[IndentingNewLine]line2b = Take[randompermutation[ restoptions[Union[Take[line1, {4, 6}], line2a]]], {1, 3}]; \[IndentingNewLine]line2c = randompermutation[ restoptions[ Union[Take[line1, {7, 9}], line2a, line2b]]];\[IndentingNewLine]}]; \ \[IndentingNewLine]If[i \[GreaterEqual] 100, Continue[{}]]; \[IndentingNewLine]i = 0; \ line3c = {}; While[\((\((\((\(i++\))\) < 100)\)\ && \ \((Length[line3c] < 3)\))\), {\[IndentingNewLine]line3a = Take[sudoku1[\([3]\)], {1, 3}]; \[IndentingNewLine]line3b = randompermutation[ restoptions[ Union[Take[line1, {4, 6}], line2b, line3a]]]; \[IndentingNewLine]line3c = randompermutation[ restoptions[ Union[Take[line1, {7, 9}], line2c, line3a, line3b]]];\[IndentingNewLine]}]; \ \[IndentingNewLine]If[i \[GreaterEqual] 100, Continue[{}]]; \[IndentingNewLine]okFlag = True;\[IndentingNewLine]}]\[IndentingNewLine]If[ j \[GreaterEqual] 10, {Return[{}]}]; \[IndentingNewLine]sudoku1 = ReplacePart[sudoku1, line1, 1]; \[IndentingNewLine]line2 = Join[line2a, line2b, line2c]; \[IndentingNewLine]line3 = Join[line3a, line3b, line3c]; \[IndentingNewLine]sudoku1 = ReplacePart[sudoku1, line2, 2]; \[IndentingNewLine]sudoku1 = ReplacePart[sudoku1, line3, 3]; \[IndentingNewLine]Print["\"]; \ \[IndentingNewLine]Print[ MatrixForm[ sudoku1]]; \[IndentingNewLine]Print["\", checkSudokuLegal[sudoku1]]; \[IndentingNewLine]okFlag = False; j = 0; \[IndentingNewLine]While[\((\((\(! okFlag\))\)\ && \ \ \((\((\(j++\))\) < 10)\))\), {\[IndentingNewLine]sudoku2 = sudoku1; sudokutmp1243 = sudoku2; \[IndentingNewLine]If[ Length[legalvalues[sudoku2, 4, 4]] \[Equal] 0, Continue[], sudoku2 = ReplacePart[ sudoku2, \(legalvalues[sudoku2, 4, 4]\)[\([Random[ Integer, {1, Length[legalvalues[sudoku2, 4, 4]]}]]\)], {4, 4}]]; \[IndentingNewLine]If[ Length[legalvalues[sudoku2, 4, 5]] \[Equal] 0, Continue[], sudoku2 = ReplacePart[ sudoku2, \(legalvalues[sudoku2, 4, 5]\)[\([Random[ Integer, {1, Length[legalvalues[sudoku2, 4, 5]]}]]\)], {4, 5}]]; \[IndentingNewLine]If[ Length[legalvalues[sudoku2, 4, 6]] \[Equal] 0, Continue[], sudoku2 = ReplacePart[ sudoku2, \(legalvalues[sudoku2, 4, 6]\)[\([Random[ Integer, {1, Length[legalvalues[sudoku2, 4, 6]]}]]\)], {4, 6}]]; \[IndentingNewLine]If[ Length[legalvalues[sudoku2, 4, 7]] \[Equal] 0, Continue[], sudoku2 = ReplacePart[ sudoku2, \(legalvalues[sudoku2, 4, 7]\)[\([Random[ Integer, {1, Length[legalvalues[sudoku2, 4, 7]]}]]\)], {4, 7}]]; \[IndentingNewLine]If[ Length[legalvalues[sudoku2, 4, 8]] \[Equal] 0, Continue[], sudoku2 = ReplacePart[ sudoku2, \(legalvalues[sudoku2, 4, 8]\)[\([Random[ Integer, {1, Length[legalvalues[sudoku2, 4, 8]]}]]\)], {4, 8}]]; \[IndentingNewLine]If[ Length[legalvalues[sudoku2, 4, 9]] \[Equal] 0, Continue[], sudoku2 = ReplacePart[ sudoku2, \(legalvalues[sudoku2, 4, 9]\)[\([Random[ Integer, {1, Length[legalvalues[sudoku2, 4, 9]]}]]\)], {4, 9}]]; \[IndentingNewLine]okFlag = True\[IndentingNewLine]}]; \[IndentingNewLine]If[ j \[GreaterEqual] 10, Return[{}]]; \[IndentingNewLine]Print["\"]; \ \[IndentingNewLine]Print[ MatrixForm[ sudoku2]]; \[IndentingNewLine]Print["\", checkSudokuLegal[sudoku2]]; \[IndentingNewLine]sudoku1 = solveSudokoBasicBifurcated[ sudoku2]; \[IndentingNewLine]Print["\"]; \ \[IndentingNewLine]Print[ MatrixForm[ sudoku1]]; \[IndentingNewLine]Print["\", checkSudokuLegal[ sudoku1]]; \[IndentingNewLine]sudoku1\[IndentingNewLine]]\)\(\ \[IndentingNewLine]\) \)\)], "Input", InitializationCell->True], Cell["On[General::spell]", "Input", InitializationCell->True], Cell["On[General::spell1]", "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(fullsudoku = createSudoku[]\)], "Input"], Cell[BoxData[ \("End of phase 1"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "0", "0", "0", "0", "0", "0"}, {"3", "1", "2", "0", "0", "0", "0", "0", "0"}, {"6", "8", "9", "0", "0", "0", "0", "0", "0"}, {"8", "5", "1", "0", "0", "0", "0", "0", "0"}, {"9", "6", "4", "0", "0", "0", "0", "0", "0"}, {"2", "7", "3", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ \("End of phase 2"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "0", "0", "0", "0", "0", "0"}, {"6", "8", "9", "0", "0", "0", "0", "0", "0"}, {"8", "5", "1", "0", "0", "0", "0", "0", "0"}, {"9", "6", "4", "0", "0", "0", "0", "0", "0"}, {"2", "7", "3", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 4, 4}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 4, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 3}}\), SequenceForm[ "Cells ", {{6, 4, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 5, 9}}\), SequenceForm[ "Rows ", {{5, 5, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 6, 6}}\), SequenceForm[ "Rows ", {{5, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 7, 5}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 8}}\), SequenceForm[ "Cells ", {{5, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 7}}\), SequenceForm[ "Cells ", {{5, 9, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{6, 5, 5}}\), SequenceForm[ "Checking Bifurcation with ", {{6, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 7}}\), SequenceForm[ "Cells ", {{6, 6, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{6, 7, 1}}\), SequenceForm[ "Checking Bifurcation with ", {{6, 7, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 4}, {9, 7, 6}}\), SequenceForm[ "Cells ", {{6, 9, 4}, {9, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 2}, {7, 9, 9}, {9, 7, 6}}\), SequenceForm[ "Cells ", {{6, 8, 2}, {7, 9, 9}, {9, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 9}, {9, 7, 6}}\), SequenceForm[ "Cells ", {{7, 9, 9}, {9, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 2}, {9, 7, 6}}\), SequenceForm[ "Cells ", {{7, 4, 2}, {9, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 8}, {9, 7, 6}}\), SequenceForm[ "Cells ", {{8, 4, 8}, {9, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 1}, {9, 4, 9}, {9, 7, 6}}\), SequenceForm[ "Cells ", {{8, 9, 1}, {9, 4, 9}, {9, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 7}, {9, 4, 9}, {9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{8, 5, 7}, {9, 4, 9}, {9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 6}, {8, 7, 2}, {9, 4, 9}, {9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{7, 5, 6}, {8, 7, 2}, {9, 4, 9}, {9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 7}, {8, 7, 2}, {9, 4, 9}, {9, 5, 1}, {9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{7, 7, 7}, {8, 7, 2}, {9, 4, 9}, {9, 5, 1}, {9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 2}, {9, 4, 9}, {9, 5, 1}, {9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{8, 7, 2}, {9, 4, 9}, {9, 5, 1}, {9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 9}, {9, 5, 1}, {9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{9, 4, 9}, {9, 5, 1}, {9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 1}, {9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{9, 5, 1}, {9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 6}, {9, 9, 8}}\), SequenceForm[ "Cells ", {{9, 7, 6}, {9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 8}}\), SequenceForm[ "Cells ", {{9, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{7, 6, 3}}\), SequenceForm[ "Checking Bifurcation with ", {{7, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 4}, {8, 6, 5}}\), SequenceForm[ "Cells ", {{7, 8, 4}, {8, 6, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 5}, {9, 8, 5}}\), SequenceForm[ "Cells ", {{8, 6, 5}, {9, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 3}, {9, 6, 4}, {9, 8, 5}}\), SequenceForm[ "Cells ", {{8, 8, 3}, {9, 6, 4}, {9, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 4}, {9, 8, 5}}\), SequenceForm[ "Cells ", {{9, 6, 4}, {9, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 5}}\), SequenceForm[ "Cells ", {{9, 8, 5}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{7, 6, 3}}\), SequenceForm[ "first guess chosen ", {{7, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{6, 7, 1}}\), SequenceForm[ "first guess chosen ", {{6, 7, 1}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{6, 5, 5}}\), SequenceForm[ "first guess chosen ", {{6, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 7, 5}}\), SequenceForm[ "first guess chosen ", {{5, 7, 5}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 4, 4}}\), SequenceForm[ "first guess chosen ", {{5, 4, 4}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \("End of phase 3"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "9", "8", "5", "3", "2", "4", "7", "6"}, {"7", "3", "5", "6", "4", "1", "8", "9", "2"}, {"4", "2", "6", "7", "8", "9", "3", "1", "5"}, {"5", "4", "7", "1", "2", "8", "9", "6", "3"}, {"3", "1", "2", "4", "9", "6", "5", "8", "7"}, {"6", "8", "9", "3", "5", "7", "1", "2", "4"}, {"8", "5", "1", "2", "6", "3", "7", "4", "9"}, {"9", "6", "4", "8", "7", "5", "2", "3", "1"}, {"2", "7", "3", "9", "1", "4", "6", "5", "8"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ \({{1, 9, 8, 5, 3, 2, 4, 7, 6}, {7, 3, 5, 6, 4, 1, 8, 9, 2}, {4, 2, 6, 7, 8, 9, 3, 1, 5}, {5, 4, 7, 1, 2, 8, 9, 6, 3}, {3, 1, 2, 4, 9, 6, 5, 8, 7}, {6, 8, 9, 3, 5, 7, 1, 2, 4}, {8, 5, 1, 2, 6, 3, 7, 4, 9}, {9, 6, 4, 8, 7, 5, 2, 3, 1}, {2, 7, 3, 9, 1, 4, 6, 5, 8}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ Part 2: creating a legal sudoku puzzle. There are many ways to create the puzzle from the matrix. In the current \ version, we use a pattern to select the cells in the puzzle. The pattern can \ be predefined or be created by randomly pick predecided number of cells \ (generally or in each subgrid), etc. (practically this means creating a \ random pattern). If the resulting puzzle is not solved, the pattern and/or \ the matrix should be changed (this iteration can be easily automated). The main issue is uniqueness. We add here another version of the bifurcating \ algorithms in which, if a bifurcation occurs, the two options are checked and \ the uniqueness can be tested. Potential future easy improvements: 1. automatic creation of the puzzle (in \ \"one shift-return\"); 2. computer answer with regard to uniqueness; 3. \ checking all potential two-legal-values-cells in bifurcations and looking for \ a cell in which the path to contradicion is shorter (making it easier for a \ human solver to find the contradiction). This part just gives a few initial examples for application. There are many \ other ways to use the notebook for creating sudoku puzzles.\ \>", "Subsection", InitializationCell->True], Cell[CellGroupData[{ Cell["\<\ A version of the bifurcating algorithms that allows (the human reading the \ printout) to check uniquenss of the solution.\ \>", "Subsubsection", InitializationCell->True], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(\[IndentingNewLine]\)\(\ solveSudokoBasicBifurcatedCheckTwo[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]If[\(! \ MemberQ[Flatten[m], 0]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuLegal[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuZeroOptions[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[ Length[\((tmp = singleCellsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleRowsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleColsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleGridsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[\((tmp = bifurcationCheckTwo[m])\)[\([1]\)] === 2, \[IndentingNewLine]Print["\"]; Print[MatrixForm[tmp[\([2]\)]]]; tmp[\([2]\)], \[IndentingNewLine]If[ Length[\((tmp[\([2]\)])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoBasicBifurcatedCheckTwo[ ReplacePart[ m, \(tmp[\([2]\)]\)[\([1, 3]\)], {\(tmp[\([2]\)]\)[\([1, 1]\)], \(tmp[\([2]\)]\)[\([1, 2]\)]}]], \[IndentingNewLine]m\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\)\)\)], "Input", InitializationCell->True], Cell[BoxData[ \(bifurcationCheckTwo[ m_] := \[IndentingNewLine]Module[{tmp = singleCellsAnalysis[m, 2], solution, tmplist}, \ (*\ singleCellsAnalysis[m, 2]\ lists\ the\ positions\ of\ non - empty\ cells\ cells\ with\ exactly\ two\ legal\ values\ \ *) \[IndentingNewLine]If[ Length[tmp] > 0, \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]If[ MemberQ[Flatten[\((solution = solveSudokoBasicBifurcatedCheckTwo[ ReplacePart[ m, \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]])\)], 0], \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([2]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[1, tmplist])\), \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([2]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[1, tmplist])\)\[IndentingNewLine]], {1, {}}\[IndentingNewLine]]\ \[IndentingNewLine]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(\[IndentingNewLine]\)\(\ solveSudokoAdvancedBifurcatedCheckTwo[ m_] := \[IndentingNewLine]Module[{tmp}, \[IndentingNewLine]If[\(! \ MemberQ[Flatten[m], 0]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuLegal[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[\(! checkSudokuZeroOptions[ m]\), \[IndentingNewLine]Print["\"]; Print[MatrixForm[m]]; m, \[IndentingNewLine]If[ Length[\((tmp = singleCellsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleRowsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleColsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = singleGridsAnalysisCount1[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[ Length[\((tmp = advancedAnalysis[m])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[m, tmp[\([1, 3]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]], \[IndentingNewLine]If[\((tmp = bifurcationAdvancedCheckTwo[m])\)[\([1]\)] === 2, \[IndentingNewLine]Print["\"]; Print[MatrixForm[tmp[\([2]\)]]]; tmp[\([2]\)], \[IndentingNewLine]If[ Length[\((tmp[\([2]\)])\)] > 0, \[IndentingNewLine]Print["\", tmp]; solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[ m, \(tmp[\([2]\)]\)[\([1, 3]\)], {\(tmp[\([2]\)]\)[\([1, 1]\)], \(tmp[\([2]\)]\)[\([1, 2]\)]}]], \[IndentingNewLine]m\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\[IndentingNewLine]]\ \[IndentingNewLine]]\[IndentingNewLine]]\)\)\)], "Input", InitializationCell->True], Cell[BoxData[ \(bifurcationAdvancedCheckTwo[ m_] := \[IndentingNewLine]Module[{tmp = singleCellsAnalysis[m, 2], solution, tmplist}, \ (*\ singleCellsAnalysis[m, 2]\ lists\ the\ positions\ of\ non - empty\ cells\ cells\ with\ exactly\ two\ legal\ values\ \ *) \[IndentingNewLine]If[ Length[tmp] > 0, \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]If[ MemberQ[Flatten[\((solution = solveSudokoAdvancedBifurcatedCheckTwo[ ReplacePart[ m, \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)], {tmp[\([1, 1]\)], tmp[\([1, 2]\)]}]])\)], 0], \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([2]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[1, tmplist])\), \[IndentingNewLine]\((tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([1]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]tmplist = List[List[tmp[\([1, 1]\)], tmp[\([1, 2]\)], \(legalvalues[m, tmp[\([1, 1]\)], tmp[\([1, 2]\)]]\)[\([2]\)]]]; \ \[IndentingNewLine]Print["\", tmplist]; \[IndentingNewLine]List[1, tmplist])\)\[IndentingNewLine]], {1, {}}\[IndentingNewLine]]\ \[IndentingNewLine]]\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"pattern", "=", GridBox[{ {"0", "1", "0", "1", "0", "1", "0", "1", "0"}, {"1", "1", "0", "0", "1", "0", "0", "1", "1"}, {"0", "0", "1", "0", "1", "0", "1", "0", "0"}, {"1", "0", "0", "0", "1", "0", "0", "0", "1"}, {"0", "1", "1", "1", "0", "1", "1", "1", "0"}, {"1", "0", "0", "0", "1", "0", "0", "0", "1"}, {"0", "0", "1", "0", "1", "0", "1", "0", "0"}, {"1", "1", "0", "0", "1", "0", "0", "1", "1"}, {"0", "1", "0", "1", "0", "1", "0", "1", "0"} }, GridFrame->True, RowLines->True, ColumnLines->True]}]], "Input"], Cell[BoxData[ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \ error: new symbol name \\\"\\!\\(pattern\\)\\\" is similar to existing symbol \ \\\"\\!\\(Pattern\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message"], Cell[BoxData[ \({{0, 1, 0, 1, 0, 1, 0, 1, 0}, {1, 1, 0, 0, 1, 0, 0, 1, 1}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {1, 1, 0, 0, 1, 0, 0, 1, 1}, {0, 1, 0, 1, 0, 1, 0, 1, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[pattern /. \ 0 -> "\< \>"]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>"}, {"1", "1", "\<\" \"\>", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>", "1", "1"}, {"\<\" \"\>", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>"}, {"1", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "1"}, {"\<\" \"\>", "1", "1", "1", "\<\" \"\>", "1", "1", "1", "\<\" \"\>"}, {"1", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "1"}, {"\<\" \"\>", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>"}, {"1", "1", "\<\" \"\>", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>", "1", "1"}, {"\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[BoxData[ \(fullsudoku = createSudoku[]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(fullsudoku = {{2, 9, 3, 8, 6, 4, 5, 1, 7}, {7, 8, 1, 5, 2, 3, 4, 6, 9}, {5, 4, 6, 7, 9, 1, 2, 8, 3}, {3, 5, 2, 4, 1, 6, 9, 7, 8}, {9, 7, 8, 2, 3, 5, 1, 4, 6}, {6, 1, 4, 9, 7, 8, 3, 2, 5}, {8, 2, 7, 1, 5, 9, 6, 3, 4}, {4, 3, 5, 6, 8, 2, 7, 9, 1}, {1, 6, 9, 3, 4, 7, 8, 5, 2}}\)], "Input"], Cell[BoxData[ \({{2, 9, 3, 8, 6, 4, 5, 1, 7}, {7, 8, 1, 5, 2, 3, 4, 6, 9}, {5, 4, 6, 7, 9, 1, 2, 8, 3}, {3, 5, 2, 4, 1, 6, 9, 7, 8}, {9, 7, 8, 2, 3, 5, 1, 4, 6}, {6, 1, 4, 9, 7, 8, 3, 2, 5}, {8, 2, 7, 1, 5, 9, 6, 3, 4}, {4, 3, 5, 6, 8, 2, 7, 9, 1}, {1, 6, 9, 3, 4, 7, 8, 5, 2}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[fullsudoku*pattern]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "9", "0", "8", "0", "4", "0", "1", "0"}, {"7", "8", "0", "0", "2", "0", "0", "6", "9"}, {"0", "0", "6", "0", "9", "0", "2", "0", "0"}, {"3", "0", "0", "0", "1", "0", "0", "0", "8"}, {"0", "7", "8", "2", "0", "5", "1", "4", "0"}, {"6", "0", "0", "0", "7", "0", "0", "0", "5"}, {"0", "0", "7", "0", "5", "0", "6", "0", "0"}, {"4", "3", "0", "0", "8", "0", "0", "9", "1"}, {"0", "6", "0", "3", "0", "7", "0", "5", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(fullsudokusolution = solveSudokoBasicBifurcatedCheckTwo[fullsudoku*pattern]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 9}, {8, 4, 6}, {8, 7, 7}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{5, 1, 9}, {8, 4, 6}, {8, 7, 7}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 6}, {8, 7, 7}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{8, 4, 6}, {8, 7, 7}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 2}, {8, 7, 7}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{8, 6, 2}, {8, 7, 7}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 5}, {8, 7, 7}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{8, 3, 5}, {8, 7, 7}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 7}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{8, 7, 7}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 9}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{4, 7, 9}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 4}, {4, 6, 6}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{4, 4, 4}, {4, 6, 6}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 3, 2}, {4, 6, 6}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{4, 3, 2}, {4, 6, 6}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 3}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{1, 3, 3}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 5, 6}, {1, 7, 5}, {1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{1, 5, 6}, {1, 7, 5}, {1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 7, 5}, {1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{1, 7, 5}, {1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 2}, {1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{1, 1, 2}, {1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{1, 9, 7}, {4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{4, 2, 5}, {4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{4, 6, 6}, {4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{4, 8, 7}, {5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{5, 5, 3}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 6}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{5, 9, 6}, {6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 9}, {6, 7, 3}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{6, 4, 9}, {6, 7, 3}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 8}, {6, 7, 3}, {7, 4, 1}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{6, 6, 8}, {6, 7, 3}, {7, 4, 1}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 3}, {7, 4, 1}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{6, 7, 3}, {7, 4, 1}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 4}, {6, 8, 2}, {7, 4, 1}, {9, 5, 4}}\), SequenceForm[ "Cells ", {{2, 7, 4}, {6, 8, 2}, {7, 4, 1}, {9, 5, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 1}, {3, 9, 3}, {6, 8, 2}, {7, 4, 1}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{2, 3, 1}, {3, 9, 3}, {6, 8, 2}, {7, 4, 1}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 4, 5}, {2, 6, 3}, {3, 1, 5}, {3, 2, 4}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{2, 4, 5}, {2, 6, 3}, {3, 1, 5}, {3, 2, 4}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 3}, {3, 1, 5}, {3, 2, 4}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{2, 6, 3}, {3, 1, 5}, {3, 2, 4}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 5}, {3, 2, 4}, {3, 6, 1}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{3, 1, 5}, {3, 2, 4}, {3, 6, 1}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 4}, {3, 6, 1}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{3, 2, 4}, {3, 6, 1}, {3, 9, 3}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 1}, {3, 9, 3}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{3, 6, 1}, {3, 9, 3}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 4, 7}, {3, 9, 3}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{3, 4, 7}, {3, 9, 3}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 3}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{3, 9, 3}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 8}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{3, 8, 8}, {6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{6, 2, 1}, {6, 3, 4}, {6, 8, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 3, 4}, {6, 8, 2}, {7, 2, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{6, 3, 4}, {6, 8, 2}, {7, 2, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 2}, {7, 2, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{6, 8, 2}, {7, 2, 2}, {7, 4, 1}, {7, 6, 9}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 2}, {7, 4, 1}, {7, 6, 9}, {7, 8, 3}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{7, 2, 2}, {7, 4, 1}, {7, 6, 9}, {7, 8, 3}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 1}, {7, 6, 9}, {7, 8, 3}, {7, 9, 4}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{7, 4, 1}, {7, 6, 9}, {7, 8, 3}, {7, 9, 4}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 8}, {7, 6, 9}, {7, 8, 3}, {7, 9, 4}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{7, 1, 8}, {7, 6, 9}, {7, 8, 3}, {7, 9, 4}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 9}, {7, 8, 3}, {7, 9, 4}, {9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{7, 6, 9}, {7, 8, 3}, {7, 9, 4}, {9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 3}, {7, 9, 4}, {9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{7, 8, 3}, {7, 9, 4}, {9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 4}, {9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}\), SequenceForm[ "Cells ", {{7, 9, 4}, {9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}, {9, 9, 2}}\), SequenceForm[ "Cells ", {{9, 1, 1}, {9, 3, 9}, {9, 5, 4}, {9, 7, 8}, {9, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 9}, {9, 5, 4}, {9, 7, 8}, {9, 9, 2}}\), SequenceForm[ "Cells ", {{9, 3, 9}, {9, 5, 4}, {9, 7, 8}, {9, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 4}, {9, 7, 8}, {9, 9, 2}}\), SequenceForm[ "Cells ", {{9, 5, 4}, {9, 7, 8}, {9, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 8}, {9, 9, 2}}\), SequenceForm[ "Cells ", {{9, 7, 8}, {9, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 2}}\), SequenceForm[ "Cells ", {{9, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"2", "9", "3", "8", "6", "4", "5", "1", "7"}, {"7", "8", "1", "5", "2", "3", "4", "6", "9"}, {"5", "4", "6", "7", "9", "1", "2", "8", "3"}, {"3", "5", "2", "4", "1", "6", "9", "7", "8"}, {"9", "7", "8", "2", "3", "5", "1", "4", "6"}, {"6", "1", "4", "9", "7", "8", "3", "2", "5"}, {"8", "2", "7", "1", "5", "9", "6", "3", "4"}, {"4", "3", "5", "6", "8", "2", "7", "9", "1"}, {"1", "6", "9", "3", "4", "7", "8", "5", "2"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \({{2, 9, 3, 8, 6, 4, 5, 1, 7}, {7, 8, 1, 5, 2, 3, 4, 6, 9}, {5, 4, 6, 7, 9, 1, 2, 8, 3}, {3, 5, 2, 4, 1, 6, 9, 7, 8}, {9, 7, 8, 2, 3, 5, 1, 4, 6}, {6, 1, 4, 9, 7, 8, 3, 2, 5}, {8, 2, 7, 1, 5, 9, 6, 3, 4}, {4, 3, 5, 6, 8, 2, 7, 9, 1}, {1, 6, 9, 3, 4, 7, 8, 5, 2}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[%]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"2", "9", "3", "8", "6", "4", "5", "1", "7"}, {"7", "8", "1", "5", "2", "3", "4", "6", "9"}, {"5", "4", "6", "7", "9", "1", "2", "8", "3"}, {"3", "5", "2", "4", "1", "6", "9", "7", "8"}, {"9", "7", "8", "2", "3", "5", "1", "4", "6"}, {"6", "1", "4", "9", "7", "8", "3", "2", "5"}, {"8", "2", "7", "1", "5", "9", "6", "3", "4"}, {"4", "3", "5", "6", "8", "2", "7", "9", "1"}, {"1", "6", "9", "3", "4", "7", "8", "5", "2"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(fullsudokusolution - fullsudoku\)], "Input"], Cell[BoxData[ \({{0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[{ \(\(solved = {0};\)\), "\[IndentingNewLine]", \(\(fullsudoku = createSudoku[];\)\), "\[IndentingNewLine]", \(\(While[ MemberQ[Flatten[solved], 0], \[IndentingNewLine]Print["\"]; \[IndentingNewLine]randompattern \ = Table[0, {r, 9}, {c, 9}]; \[IndentingNewLine]placeslist = Flatten[Table[{r, c}, {r, 9}, {c, 9}], 1]; \[IndentingNewLine]For[ i = 0, i < 36, \(i++\), {\[IndentingNewLine]randomplace = Random[Integer, {1, Length[placeslist]}]; \[IndentingNewLine]randompattern = ReplacePart[randompattern, 1, placeslist[\([randomplace]\)]]; \[IndentingNewLine]placeslist \ = Drop[placeslist, {randomplace}];\[IndentingNewLine]}]; \ \[IndentingNewLine]solved = solveSudokoAdvanced[ fullsudoku* randompattern]\[IndentingNewLine]];\)\), "\[IndentingNewLine]", \ \(\(Print["\"];\)\)}], "Input"], Cell[BoxData[ \("End of phase 1"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "0", "0", "0", "0", "0", "0"}, {"6", "5", "8", "0", "0", "0", "0", "0", "0"}, {"3", "7", "1", "0", "0", "0", "0", "0", "0"}, {"9", "1", "4", "0", "0", "0", "0", "0", "0"}, {"7", "3", "6", "0", "0", "0", "0", "0", "0"}, {"2", "8", "5", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ \("End of phase 2"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "0", "0", "0", "0", "0", "0"}, {"3", "7", "1", "0", "0", "0", "0", "0", "0"}, {"9", "1", "4", "0", "0", "0", "0", "0", "0"}, {"7", "3", "6", "0", "0", "0", "0", "0", "0"}, {"2", "8", "5", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 8, 3}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 7, 2}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 7, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 4, 4}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 4, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 9}, {6, 5, 9}}\), SequenceForm[ "Cells ", {{5, 9, 9}, {6, 5, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 1}, {6, 5, 9}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{5, 5, 1}, {6, 5, 9}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 7}, {6, 5, 9}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{5, 6, 7}, {6, 5, 9}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 4}}\), SequenceForm[ "Cells ", {{9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 5}, {8, 8, 1}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{6, 9, 5}, {8, 8, 1}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 6}, {8, 8, 1}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{6, 7, 6}, {8, 8, 1}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {8, 8, 1}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {8, 8, 1}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 1}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{8, 8, 1}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 3}}\), SequenceForm[ "Cells ", {{9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{7, 5, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 3}, {8, 5, 4}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{7, 7, 3}, {8, 5, 4}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 4}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{8, 5, 4}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Cells ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 5}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{8, 7, 5}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 6, 9}}\), SequenceForm[ "Rows ", {{8, 6, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{6, 4, 2}}\), SequenceForm[ "Checking Bifurcation with ", {{6, 4, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 8}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{6, 6, 8}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{7, 6, 2}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 8}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{7, 9, 8}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 8}, {8, 9, 2}}\), SequenceForm[ "Cells ", {{8, 4, 8}, {8, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 2}}\), SequenceForm[ "Cells ", {{8, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{7, 4, 6}}\), SequenceForm[ "Checking Bifurcation with ", {{7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {9, 4, 7}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{7, 4, 6}}\), SequenceForm[ "first guess chosen ", {{7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{6, 4, 2}}\), SequenceForm[ "first guess chosen ", {{6, 4, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 4, 4}}\), SequenceForm[ "first guess chosen ", {{5, 4, 4}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 7, 2}}\), SequenceForm[ "first guess chosen ", {{5, 7, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 8, 3}}\), SequenceForm[ "first guess chosen ", {{5, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \("End of phase 3"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 7, 4}, {2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 7, 4}, {2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 1}, {2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 9, 1}, {2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 5, 8}, {2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 5, 8}, {2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 9}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 2, 9}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 8, 5}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 7}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 7, 7}, {3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{3, 2, 4}, {6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{6, 3, 1}, {6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 6}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{6, 7, 6}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {8, 7, 5}, {9, 1, 2}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {8, 7, 5}, {9, 1, 2}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 9}, {6, 4, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{5, 9, 9}, {6, 4, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 7}, {6, 4, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{4, 9, 7}, {6, 4, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{6, 4, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 4, 1}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 4, 1}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 5, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{2, 5, 2}, {8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{8, 7, 5}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 6}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{8, 3, 6}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 9}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{8, 6, 9}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 6, 3}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 6, 3}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 4, 9}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 4, 9}, {9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 2}, {9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{9, 1, 2}, {9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{9, 8, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 4}}\), SequenceForm[ "Cells ", {{9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 5, 1}, {7, 6, 2}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{5, 5, 1}, {7, 6, 2}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 6, 2}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{7, 6, 2}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 2, 1}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{7, 2, 1}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 6, 1}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{9, 6, 1}, {5, 4, 4}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 4, 4}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{5, 4, 4}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 8, 3}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{5, 8, 3}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 8}}\), SequenceForm[ "Cells ", {{4, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 4, 3}, {3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{4, 4, 3}, {3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 5, 7}, {4, 3, 9}}\), SequenceForm[ "Rows ", {{3, 5, 7}, {4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 3, 9}}\), SequenceForm[ "Rows ", {{4, 3, 9}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 7}, {3, 6, 6}, {6, 4, 2}, {6, 5, 9}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{3, 5, 7}, {3, 6, 6}, {6, 4, 2}, {6, 5, 9}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 6}, {6, 4, 2}, {6, 5, 9}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{3, 6, 6}, {6, 4, 2}, {6, 5, 9}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 4}, {6, 4, 2}, {6, 5, 9}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{2, 6, 4}, {6, 4, 2}, {6, 5, 9}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 2}, {6, 5, 9}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{6, 4, 2}, {6, 5, 9}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {6, 7, 6}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {6, 7, 6}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 6, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}}\), SequenceForm[ "Cells ", {{4, 6, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 2, 2}, {4, 3, 9}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}}\), SequenceForm[ "Cells ", {{4, 2, 2}, {4, 3, 9}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 3, 9}, {5, 2, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}}\), SequenceForm[ "Cells ", {{4, 3, 9}, {5, 2, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 4}, {5, 2, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{4, 1, 4}, {5, 2, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{5, 2, 5}, {6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 7, 6}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{7, 5, 5}, {8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{8, 4, 8}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 2, 3}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{8, 2, 3}, {8, 6, 9}, {9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 9}, {9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{8, 6, 9}, {9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 8}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{9, 2, 8}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 5}}\), SequenceForm[ "Cells ", {{9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {9, 1, 2}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {9, 1, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 2}}\), SequenceForm[ "Cells ", {{9, 1, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 9, 4}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{9, 9, 4}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Rows ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Advanced "\[InvisibleSpace]{{4, 9, 7}}\), SequenceForm[ "Advanced ", {{4, 9, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 1}}\), SequenceForm[ "Cells ", {{4, 7, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 8}}\), SequenceForm[ "Cells ", {{3, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {3, 1, 1}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {3, 1, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {7, 9, 8}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {7, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 5}, {7, 9, 8}}\), SequenceForm[ "Cells ", {{1, 1, 5}, {7, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {7, 9, 8}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {7, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 8}}\), SequenceForm[ "Cells ", {{7, 9, 8}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 7}, {1, 7, 4}, {2, 3, 3}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}}\), SequenceForm[ "Cells ", {{1, 3, 7}, {1, 7, 4}, {2, 3, 3}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 7, 4}, {2, 3, 3}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}}\), SequenceForm[ "Cells ", {{1, 7, 4}, {2, 3, 3}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 5, 8}, {2, 3, 3}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{1, 5, 8}, {2, 3, 3}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {2, 4, 1}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {2, 4, 1}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 9}, {2, 4, 1}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{2, 2, 9}, {2, 4, 1}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {2, 4, 1}, {2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {2, 4, 1}, {2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 4, 1}, {2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{2, 4, 1}, {2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 4}, {2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{2, 6, 4}, {2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{2, 8, 5}, {3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}\), SequenceForm[ "Cells ", {{3, 3, 2}, {3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{3, 5, 7}, {3, 8, 9}, {6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 9}, {6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{3, 8, 9}, {6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 3}, {6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{3, 9, 3}, {6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 1, 3}, {6, 7, 6}, {7, 3, 4}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 7}, {6, 7, 6}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 2, 7}, {6, 7, 6}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 2, 2}, {6, 7, 6}, {6, 8, 4}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{4, 2, 2}, {6, 7, 6}, {6, 8, 4}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 5}, {6, 7, 6}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{5, 2, 5}, {6, 7, 6}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 6}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 7, 6}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 1}, {6, 5, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{4, 7, 1}, {6, 5, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 2}, {6, 5, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{5, 7, 2}, {6, 5, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 1}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{5, 5, 1}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 7}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{5, 6, 7}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{5, 9, 9}, {6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{7, 2, 1}, {7, 3, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 4}, {8, 2, 3}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{7, 3, 4}, {8, 2, 3}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 2, 3}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{8, 2, 3}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 8}, {8, 5, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{8, 4, 8}, {8, 5, 4}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 6}, {8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{7, 4, 6}, {8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 3}, {8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{4, 4, 3}, {8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 5, 6}, {8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{4, 5, 6}, {8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{8, 5, 4}, {8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{8, 8, 1}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 9}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{8, 6, 9}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}\), SequenceForm[ "Cells ", {{7, 6, 2}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {9, 1, 2}, {9, 3, 5}, {9, 5, 3}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 2}, {9, 3, 5}, {9, 5, 3}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 1, 2}, {9, 3, 5}, {9, 5, 3}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 5}, {9, 5, 3}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 3, 5}, {9, 5, 3}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 3}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 5, 3}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {3, 1, 1}, {3, 9, 3}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {3, 1, 1}, {3, 9, 3}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {3, 9, 3}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {3, 9, 3}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 6}, {3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{1, 2, 6}, {3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 7}, {3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{1, 3, 7}, {3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 3, 2}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 4, 5}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 4, 5}, {3, 9, 3}, {7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 3}, {7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 9, 3}, {7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 6, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 8, 3}, {7, 3, 4}, {8, 3, 6}, {5, 6, 7}, {9, 4, 7}}\), SequenceForm[ "Rows ", {{5, 8, 3}, {7, 3, 4}, {8, 3, 6}, {5, 6, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 1}}\), SequenceForm[ "Cells ", {{8, 8, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 3}}\), SequenceForm[ "Cells ", {{7, 7, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 1}}\), SequenceForm[ "Cells ", {{7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 4}}\), SequenceForm[ "Cells ", {{7, 3, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 2, 3}, {8, 5, 4}, {8, 3, 6}, {5, 6, 7}, {9, 4, 7}}\), SequenceForm[ "Rows ", {{8, 2, 3}, {8, 5, 4}, {8, 3, 6}, {5, 6, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 5, 4}, {8, 3, 6}, {5, 6, 7}, {9, 4, 7}}\), SequenceForm[ "Rows ", {{8, 5, 4}, {8, 3, 6}, {5, 6, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 3, 6}, {5, 6, 7}, {9, 4, 7}}\), SequenceForm[ "Rows ", {{8, 3, 6}, {5, 6, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 7, 5}, {5, 6, 7}, {9, 4, 7}}\), SequenceForm[ "Rows ", {{8, 7, 5}, {5, 6, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Cells ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{5, 6, 7}, {9, 4, 7}}\), SequenceForm[ "Rows ", {{5, 6, 7}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 4, 7}}\), SequenceForm[ "Rows ", {{9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 6}, {7, 2, 1}, {8, 9, 2}, {9, 2, 8}}\), SequenceForm[ "Cells ", {{1, 2, 6}, {7, 2, 1}, {8, 9, 2}, {9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 1}, {8, 9, 2}, {9, 2, 8}}\), SequenceForm[ "Cells ", {{7, 2, 1}, {8, 9, 2}, {9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 2}, {9, 2, 8}}\), SequenceForm[ "Cells ", {{8, 9, 2}, {9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 5}, {8, 1, 7}, {9, 2, 8}}\), SequenceForm[ "Cells ", {{6, 9, 5}, {8, 1, 7}, {9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 7}, {9, 2, 8}}\), SequenceForm[ "Cells ", {{8, 1, 7}, {9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 8}, {9, 2, 8}}\), SequenceForm[ "Cells ", {{8, 4, 8}, {9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 8}}\), SequenceForm[ "Cells ", {{9, 2, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 4, 5}, {9, 3, 5}, {5, 3, 8}, {1, 4, 9}}\), SequenceForm[ "Rows ", {{3, 4, 5}, {9, 3, 5}, {5, 3, 8}, {1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 8, 5}, {4, 6, 5}, {9, 3, 5}, {3, 5, 7}, {5, 3, 8}, {1, 4, 9}}\), SequenceForm[ "Rows ", {{2, 8, 5}, {4, 6, 5}, {9, 3, 5}, {3, 5, 7}, {5, 3, 8}, {1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{4, 6, 5}, {9, 3, 5}, {3, 5, 7}, {5, 3, 8}, {1, 4, 9}}\), SequenceForm[ "Rows ", {{4, 6, 5}, {9, 3, 5}, {3, 5, 7}, {5, 3, 8}, {1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 3, 5}, {3, 5, 7}, {5, 3, 8}, {1, 4, 9}}\), SequenceForm[ "Rows ", {{9, 3, 5}, {3, 5, 7}, {5, 3, 8}, {1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 5, 7}, {5, 3, 8}, {1, 4, 9}}\), SequenceForm[ "Rows ", {{3, 5, 7}, {5, 3, 8}, {1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 3}}\), SequenceForm[ "Cells ", {{9, 5, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 1}, {7, 6, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{5, 5, 1}, {7, 6, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 6, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 4}, {7, 4, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 3, 4}, {7, 4, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {7, 4, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {7, 4, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 6}, {9, 1, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 4, 6}, {9, 1, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 3}, {9, 1, 2}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 7, 3}, {9, 1, 2}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 2}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 1, 2}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {3, 3, 2}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {3, 3, 2}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 6, 4}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 6, 4}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 6, 3}, {2, 4, 1}, {2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{1, 6, 3}, {2, 4, 1}, {2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 4, 9}, {2, 4, 1}, {2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{1, 4, 9}, {2, 4, 1}, {2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 4, 1}, {2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 4, 1}, {2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 7, 7}, {3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 3, 2}, {5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{5, 3, 8}, {6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 3, 1}, {9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{6, 3, 1}, {9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 4, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Cells ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 1}, {2, 9, 6}, {3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{1, 9, 1}, {2, 9, 6}, {3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 7}, {3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{2, 7, 7}, {3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {3, 6, 6}, {7, 1, 9}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 6}, {7, 1, 9}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{3, 6, 6}, {7, 1, 9}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 3}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{6, 1, 3}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 2, 3}}\), SequenceForm[ "Cells ", {{8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 8, 8}}\), SequenceForm[ "Cols ", {{4, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{8, 9, 2}}\), SequenceForm[ "Grids ", {{8, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{9, 9, 4}}\), SequenceForm[ "Cols ", {{9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Grids "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Grids ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 6}, {1, 8, 2}, {5, 1, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 2, 6}, {1, 8, 2}, {5, 1, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 5}, {1, 8, 2}, {5, 1, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 1, 5}, {1, 8, 2}, {5, 1, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 2}, {5, 1, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{1, 8, 2}, {5, 1, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 6}, {9, 9, 4}}\), SequenceForm[ "Cells ", {{5, 1, 6}, {9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 4}}\), SequenceForm[ "Cells ", {{9, 9, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 5}}\), SequenceForm[ "Cells ", {{9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 4}}\), SequenceForm[ "Cells ", {{7, 3, 4}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 9, 3}, {8, 2, 3}, {2, 6, 4}, {6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{3, 9, 3}, {8, 2, 3}, {2, 6, 4}, {6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{8, 2, 3}, {2, 6, 4}, {6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{8, 2, 3}, {2, 6, 4}, {6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{2, 6, 4}, {6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{2, 6, 4}, {6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{6, 8, 4}, {6, 9, 5}, {6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 9, 5}, {6, 7, 6}, {6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{6, 9, 5}, {6, 7, 6}, {6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 7, 6}, {6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{6, 7, 6}, {6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 5, 9}, {9, 7, 9}}\), SequenceForm[ "Rows ", {{6, 5, 9}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Rows ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{4, 7, 1}, {5, 7, 2}, {9, 8, 6}, {8, 1, 7}, {4, 9, 7}}\), SequenceForm[ "Cols ", {{4, 7, 1}, {5, 7, 2}, {9, 8, 6}, {8, 1, 7}, {4, 9, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 8}}\), SequenceForm[ "Cells ", {{4, 8, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 7}, {8, 8, 1}}\), SequenceForm[ "Cells ", {{4, 9, 7}, {8, 8, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 2}, {8, 8, 1}}\), SequenceForm[ "Cells ", {{5, 7, 2}, {8, 8, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 7}, {8, 8, 1}}\), SequenceForm[ "Cells ", {{5, 6, 7}, {8, 8, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 1}}\), SequenceForm[ "Cells ", {{8, 8, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 7}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{8, 1, 7}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 6}, {9, 4, 7}}\), SequenceForm[ "Cells ", {{3, 6, 6}, {9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 7}}\), SequenceForm[ "Cells ", {{9, 4, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 4, 6}}\), SequenceForm[ "Rows ", {{7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{7, 5, 5}}\), SequenceForm[ "Rows ", {{7, 5, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 7}}\), SequenceForm[ "Cells ", {{3, 5, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 5, 2}, {3, 7, 8}}\), SequenceForm[ "Cells ", {{2, 5, 2}, {3, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 4, 1}, {3, 7, 8}}\), SequenceForm[ "Cells ", {{2, 4, 1}, {3, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 9}, {3, 4, 5}, {3, 7, 8}}\), SequenceForm[ "Cells ", {{2, 2, 9}, {3, 4, 5}, {3, 7, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {3, 4, 5}, {3, 7, 8}, {7, 2, 1}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {3, 4, 5}, {3, 7, 8}, {7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 7}, {3, 1, 1}, {3, 4, 5}, {3, 7, 8}, {7, 2, 1}}\), SequenceForm[ "Cells ", {{2, 7, 7}, {3, 1, 1}, {3, 4, 5}, {3, 7, 8}, {7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {3, 4, 5}, {3, 7, 8}, {7, 2, 1}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {3, 4, 5}, {3, 7, 8}, {7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 4, 5}, {3, 7, 8}, {7, 1, 9}, {7, 2, 1}}\), SequenceForm[ "Cells ", {{3, 4, 5}, {3, 7, 8}, {7, 1, 9}, {7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 8}, {7, 1, 9}, {7, 2, 1}}\), SequenceForm[ "Cells ", {{3, 7, 8}, {7, 1, 9}, {7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {7, 2, 1}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 1}}\), SequenceForm[ "Cells ", {{7, 2, 1}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 3, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{6, 3, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 2, 7}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{6, 2, 7}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 4}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{4, 1, 4}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 3}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{4, 4, 3}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 7}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{4, 9, 7}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 8}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{4, 8, 8}, {6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 3}, {6, 5, 9}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{5, 8, 3}, {6, 5, 9}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 9}, {6, 5, 9}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{5, 9, 9}, {6, 5, 9}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 4, 2}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{6, 4, 2}, {7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 2, 1}, {7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 5, 5}, {7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 6, 2}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 3}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 7, 3}, {8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 7}, {8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{8, 1, 7}, {8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 6}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{8, 3, 6}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 9}, {2, 8, 5}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 2, 9}, {2, 8, 5}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 6}, {2, 8, 5}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{1, 2, 6}, {2, 8, 5}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 8, 5}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{2, 8, 5}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 2}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{1, 8, 2}, {3, 9, 3}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 3}, {8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{3, 9, 3}, {8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 2}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{8, 9, 2}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 6, 6}, {1, 4, 9}}\), SequenceForm[ "Rows ", {{3, 6, 6}, {1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 4, 9}}\), SequenceForm[ "Rows ", {{1, 4, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{1, 1, 5}}\), SequenceForm[ "Rows ", {{1, 1, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{3, 4, 5}}\), SequenceForm[ "Rows ", {{3, 4, 5}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 4, 9}, {2, 3, 3}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{1, 4, 9}, {2, 3, 3}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 5, 8}, {1, 7, 4}, {2, 3, 3}, {3, 6, 6}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{1, 5, 8}, {1, 7, 4}, {2, 3, 3}, {3, 6, 6}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 7, 4}, {2, 3, 3}, {3, 6, 6}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{1, 7, 4}, {2, 3, 3}, {3, 6, 6}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 2}, {2, 3, 3}, {3, 6, 6}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{1, 8, 2}, {2, 3, 3}, {3, 6, 6}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 1}, {2, 3, 3}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{1, 9, 1}, {2, 3, 3}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 3, 7}, {2, 3, 3}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{1, 3, 7}, {2, 3, 3}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {3, 1, 1}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {3, 1, 1}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 3, 2}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{3, 3, 2}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 4}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{3, 2, 4}, {3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{3, 6, 6}, {3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{3, 8, 9}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 9, 3}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{3, 9, 3}, {4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{4, 4, 3}, {4, 6, 5}, {4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 6, 5}, {4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{4, 6, 5}, {4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{4, 8, 8}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 2, 2}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{4, 2, 2}, {6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 3}, {8, 1, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{7, 7, 3}, {8, 1, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{8, 1, 7}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 3}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{6, 1, 3}, {8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 6}, {9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{8, 3, 6}, {9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 7}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{9, 4, 7}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Cells ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 6}, {8, 9, 2}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{6, 7, 6}, {8, 9, 2}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 2}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{8, 9, 2}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 9}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{8, 6, 9}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 4}, {9, 6, 1}}\), SequenceForm[ "Cells ", {{8, 5, 4}, {9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 1}}\), SequenceForm[ "Cells ", {{9, 6, 1}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 5}, {7, 6, 2}}\), SequenceForm[ "Cells ", {{7, 5, 5}, {7, 6, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 1}, {7, 6, 2}}\), SequenceForm[ "Cells ", {{7, 2, 1}, {7, 6, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}}\), SequenceForm[ "Cells ", {{7, 6, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{6, 2, 7}}\), SequenceForm[ "Rows ", {{6, 2, 7}}], Editable->False]], "Print"], Cell[BoxData[ \("Selecting random pattern and checking whether the result is \ solvable"\)], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 4}, {4, 6, 5}, {7, 4, 6}}\), SequenceForm[ "Cells ", {{3, 2, 4}, {4, 6, 5}, {7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 6, 5}, {7, 4, 6}}\), SequenceForm[ "Cells ", {{4, 6, 5}, {7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 3, 9}, {6, 6, 8}, {7, 4, 6}}\), SequenceForm[ "Cells ", {{4, 3, 9}, {6, 6, 8}, {7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 1}, {5, 2, 5}, {6, 6, 8}, {7, 4, 6}}\), SequenceForm[ "Cells ", {{4, 7, 1}, {5, 2, 5}, {6, 6, 8}, {7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 2, 5}, {6, 6, 8}, {7, 4, 6}}\), SequenceForm[ "Cells ", {{5, 2, 5}, {6, 6, 8}, {7, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 3, 8}, {6, 6, 8}, {7, 4, 6}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{5, 3, 8}, {6, 6, 8}, {7, 4, 6}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 1, 6}, {5, 6, 7}, {6, 6, 8}, {7, 4, 6}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{5, 1, 6}, {5, 6, 7}, {6, 6, 8}, {7, 4, 6}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 6, 7}, {6, 6, 8}, {7, 4, 6}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{5, 6, 7}, {6, 6, 8}, {7, 4, 6}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 8}, {7, 4, 6}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{6, 6, 8}, {7, 4, 6}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 6, 3}, {6, 5, 9}, {7, 4, 6}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{1, 6, 3}, {6, 5, 9}, {7, 4, 6}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 5, 8}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{1, 5, 8}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 5, 7}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{3, 5, 7}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 7, 8}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{3, 7, 8}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 1, 1}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{3, 1, 1}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 1, 5}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{1, 1, 5}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 2}, {2, 3, 3}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{1, 8, 2}, {2, 3, 3}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 9, 1}, {2, 3, 3}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{1, 9, 1}, {2, 3, 3}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 3}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}\), SequenceForm[ "Cells ", {{2, 3, 3}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 2, 9}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{2, 2, 9}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{6, 5, 9}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 1}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{5, 5, 1}, {7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{7, 4, 6}, {7, 6, 2}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 2}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{7, 6, 2}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 1, 9}, {8, 2, 3}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{7, 1, 9}, {8, 2, 3}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 2, 3}, {9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{8, 2, 3}, {9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 1, 2}, {9, 3, 5}}\), SequenceForm[ "Cells ", {{9, 1, 2}, {9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 3, 5}}\), SequenceForm[ "Cells ", {{9, 3, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 3, 4}, {9, 5, 3}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 3, 4}, {9, 5, 3}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 3}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 5, 3}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 5}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 5, 5}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 7}, {8, 5, 4}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 8, 7}, {8, 5, 4}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 3}, {8, 5, 4}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{7, 7, 3}, {8, 5, 4}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 4}, {9, 8, 6}}\), SequenceForm[ "Cells ", {{8, 5, 4}, {9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 6}}\), SequenceForm[ "Cells ", {{9, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 8, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 8, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 6}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 9, 6}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 7, 7}, {6, 9, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{2, 7, 7}, {6, 9, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{6, 9, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 6}, {8, 9, 2}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{6, 7, 6}, {8, 9, 2}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 2}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{8, 9, 2}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 9, 9}, {8, 7, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{5, 9, 9}, {8, 7, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 2}, {8, 7, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{5, 7, 2}, {8, 7, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 5}, {9, 7, 9}}\), SequenceForm[ "Cells ", {{8, 7, 5}, {9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 9}}\), SequenceForm[ "Cells ", {{9, 7, 9}}], Editable->False]], "Print"], Cell[BoxData[ \("found a solvable sudoku puzzle"\)], "Print"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[solved]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"5", "6", "7", "9", "8", "3", "4", "2", "1"}, {"8", "9", "3", "1", "2", "4", "7", "5", "6"}, {"1", "4", "2", "5", "7", "6", "8", "9", "3"}, {"4", "2", "9", "3", "6", "5", "1", "8", "7"}, {"6", "5", "8", "4", "1", "7", "2", "3", "9"}, {"3", "7", "1", "2", "9", "8", "6", "4", "5"}, {"9", "1", "4", "6", "5", "2", "3", "7", "8"}, {"7", "3", "6", "8", "4", "9", "5", "1", "2"}, {"2", "8", "5", "7", "3", "1", "9", "6", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(solved - fullsudoku\)], "Input"], Cell[BoxData[ \({{0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[solved*randompattern]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "6", "7", "9", "0", "0", "4", "0", "0"}, {"0", "0", "0", "1", "2", "4", "0", "0", "0"}, {"0", "0", "2", "5", "0", "6", "0", "9", "3"}, {"4", "2", "0", "3", "6", "0", "0", "8", "7"}, {"0", "0", "0", "4", "0", "0", "0", "3", "0"}, {"3", "7", "1", "2", "0", "0", "0", "4", "0"}, {"0", "1", "0", "0", "0", "0", "0", "0", "8"}, {"7", "0", "6", "8", "0", "9", "0", "1", "0"}, {"0", "8", "0", "7", "0", "1", "0", "0", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[% /. \ 0 -> "\< \>"]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"\<\" \"\>", "6", "7", "9", "\<\" \"\>", "\<\" \"\>", "4", "\<\" \"\>", "\<\" \"\>"}, {"\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "1", "2", "4", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>"}, {"\<\" \"\>", "\<\" \"\>", "2", "5", "\<\" \"\>", "6", "\<\" \"\>", "9", "3"}, {"4", "2", "\<\" \"\>", "3", "6", "\<\" \"\>", "\<\" \"\>", "8", "7"}, {"\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "4", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "3", "\<\" \"\>"}, {"3", "7", "1", "2", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "4", "\<\" \"\>"}, {"\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "\<\" \"\>", "\<\" \ \"\>", "\<\" \"\>", "8"}, {"7", "\<\" \"\>", "6", "8", "\<\" \"\>", "9", "\<\" \"\>", "1", "\<\" \"\>"}, {"\<\" \"\>", "8", "\<\" \"\>", "7", "\<\" \"\>", "1", "\<\" \"\>", "\<\" \"\>", "4"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"patternThirds", "=", GridBox[{ {"1", "0", "1", "0", "1", "0", "1", "0", "1"}, {"0", "1", "0", "1", "1", "1", "0", "1", "0"}, {"1", "0", "1", "0", "1", "0", "1", "0", "1"}, {"0", "1", "0", "1", "1", "1", "0", "1", "0"}, {"1", "1", "1", "1", "0", "1", "1", "1", "1"}, {"0", "1", "0", "1", "1", "1", "0", "1", "0"}, {"1", "0", "1", "0", "1", "0", "1", "0", "1"}, {"0", "1", "0", "1", "1", "1", "0", "1", "0"}, {"1", "0", "1", "0", "1", "0", "1", "0", "1"} }, GridFrame->True, RowLines->True, ColumnLines->True]}]], "Input"], Cell[BoxData[ \({{1, 0, 1, 0, 1, 0, 1, 0, 1}, {0, 1, 0, 1, 1, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 1, 0, 1}, {0, 1, 0, 1, 1, 1, 0, 1, 0}, {1, 1, 1, 1, 0, 1, 1, 1, 1}, {0, 1, 0, 1, 1, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 1, 0, 1}, {0, 1, 0, 1, 1, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 1, 0, 1}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[patternThirds /. \ 0 -> "\< \>"]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1"}, {"\<\" \"\>", "1", "\<\" \"\>", "1", "1", "1", "\<\" \"\>", "1", "\<\" \"\>"}, {"1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1"}, {"\<\" \"\>", "1", "\<\" \"\>", "1", "1", "1", "\<\" \"\>", "1", "\<\" \"\>"}, {"1", "1", "1", "1", "\<\" \"\>", "1", "1", "1", "1"}, {"\<\" \"\>", "1", "\<\" \"\>", "1", "1", "1", "\<\" \"\>", "1", "\<\" \"\>"}, {"1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1"}, {"\<\" \"\>", "1", "\<\" \"\>", "1", "1", "1", "\<\" \"\>", "1", "\<\" \"\>"}, {"1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1", "\<\" \"\>", "1"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(fullsudoku = createSudoku[]\)], "Input"], Cell[BoxData[ \("End of phase 1"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "0", "0", "0", "0", "0", "0"}, {"9", "3", "4", "0", "0", "0", "0", "0", "0"}, {"5", "1", "7", "0", "0", "0", "0", "0", "0"}, {"3", "2", "8", "0", "0", "0", "0", "0", "0"}, {"7", "6", "9", "0", "0", "0", "0", "0", "0"}, {"4", "5", "1", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ \("End of phase 2"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "0", "0", "0", "0", "0", "0"}, {"5", "1", "7", "0", "0", "0", "0", "0", "0"}, {"3", "2", "8", "0", "0", "0", "0", "0", "0"}, {"7", "6", "9", "0", "0", "0", "0", "0", "0"}, {"4", "5", "1", "0", "0", "0", "0", "0", "0"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 9, 6}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 9, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{5, 6, 2}}\), SequenceForm[ "Checking Bifurcation with ", {{5, 6, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 8, 5}, {8, 6, 3}}\), SequenceForm[ "Cells ", {{5, 8, 5}, {8, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 7, 8}, {8, 6, 3}}\), SequenceForm[ "Cells ", {{5, 7, 8}, {8, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 1}, {6, 9, 3}, {8, 6, 3}}\), SequenceForm[ "Cells ", {{5, 5, 1}, {6, 9, 3}, {8, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 4, 7}, {6, 9, 3}, {8, 6, 3}}\), SequenceForm[ "Cells ", {{5, 4, 7}, {6, 9, 3}, {8, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 3}, {8, 6, 3}}\), SequenceForm[ "Cells ", {{6, 9, 3}, {8, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 6, 3}}\), SequenceForm[ "Cells ", {{8, 6, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Rows "\[InvisibleSpace]{{9, 8, 3}}\), SequenceForm[ "Rows ", {{9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cols "\[InvisibleSpace]{{7, 8, 6}}\), SequenceForm[ "Cols ", {{7, 8, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with "\[InvisibleSpace]{{6, 4, 6}}\), SequenceForm[ "Checking Bifurcation with ", {{6, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 6, 9}, {9, 4, 8}}\), SequenceForm[ "Cells ", {{6, 6, 9}, {9, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 5, 8}, {7, 6, 7}, {9, 4, 8}}\), SequenceForm[ "Cells ", {{6, 5, 8}, {7, 6, 7}, {9, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 7}, {9, 4, 8}}\), SequenceForm[ "Cells ", {{7, 6, 7}, {9, 4, 8}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 8}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{9, 4, 8}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 6}, {9, 9, 9}}\), SequenceForm[ "Cells ", {{9, 6, 6}, {9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 9, 9}}\), SequenceForm[ "Cells ", {{9, 9, 9}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 9, 1}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 9, 1}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 5}, {8, 9, 8}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 4, 5}, {8, 9, 8}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 7, 4}, {8, 4, 1}, {8, 9, 8}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{7, 7, 4}, {8, 4, 1}, {8, 9, 8}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 2}, {7, 5, 9}, {8, 4, 1}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}}\), SequenceForm[ "Cells ", {{6, 7, 2}, {7, 5, 9}, {8, 4, 1}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 8, 4}, {7, 5, 9}, {8, 4, 1}, {8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{6, 8, 4}, {7, 5, 9}, {8, 4, 1}, {8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 5, 9}, {8, 4, 1}, {8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{7, 5, 9}, {8, 4, 1}, {8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 4, 1}, {8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{8, 4, 1}, {8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{8, 7, 5}, {8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{8, 8, 2}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 5, 4}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{8, 5, 4}, {8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 8}, {9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{8, 9, 8}, {9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 5, 2}, {9, 7, 7}}\), SequenceForm[ "Cells ", {{9, 5, 2}, {9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 7, 7}}\), SequenceForm[ "Cells ", {{9, 7, 7}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "2", "4", "3"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{6, 4, 6}}\), SequenceForm[ "first guess chosen ", {{6, 4, 6}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "2", "4", "3"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 6, 2}}\), SequenceForm[ "first guess chosen ", {{5, 6, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "2", "4", "3"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess chosen "\[InvisibleSpace]{{5, 9, 6}}\), SequenceForm[ "first guess chosen ", {{5, 9, 6}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "2", "4", "3"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \("End of phase 3"\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "2", "4", "3"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("is the matrix legal? - "\[InvisibleSpace]True\), SequenceForm[ "is the matrix legal? - ", True], Editable->False]], "Print"], Cell[BoxData[ \({{1, 7, 3, 2, 5, 8, 6, 9, 4}, {8, 4, 5, 9, 6, 1, 3, 7, 2}, {6, 9, 2, 3, 7, 4, 1, 8, 5}, {2, 8, 6, 4, 3, 5, 9, 1, 7}, {9, 3, 4, 7, 1, 2, 8, 5, 6}, {5, 1, 7, 6, 8, 9, 2, 4, 3}, {3, 2, 8, 5, 9, 7, 4, 6, 1}, {7, 6, 9, 1, 4, 3, 5, 2, 8}, {4, 5, 1, 8, 2, 6, 7, 3, 9}}\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(solveSudokoBasicBifurcatedCheckTwo[fullsudoku*patternThirds]\)], "Input"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 6, 8}, {2, 3, 5}, {3, 2, 9}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}}\), SequenceForm[ "Cells ", {{1, 6, 8}, {2, 3, 5}, {3, 2, 9}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 4, 2}, {1, 8, 9}, {2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{1, 4, 2}, {1, 8, 9}, {2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 8, 9}, {2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{1, 8, 9}, {2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{1, 2, 7}, {2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{1, 2, 7}, {2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{2, 3, 5}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 1, 8}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{2, 1, 8}, {3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{3, 2, 9}, {3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{3, 4, 3}, {3, 6, 4}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 6, 4}, {3, 8, 8}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{3, 6, 4}, {3, 8, 8}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{3, 8, 8}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{3, 8, 8}, {5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{5, 5, 1}, {6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{6, 3, 7}, {7, 4, 5}, {7, 8, 6}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 1, 2}, {4, 3, 6}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{4, 1, 2}, {4, 3, 6}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 3, 6}, {4, 7, 9}, {4, 9, 7}, {6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{4, 3, 6}, {4, 7, 9}, {4, 9, 7}, {6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 7, 9}, {4, 9, 7}, {6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{4, 7, 9}, {4, 9, 7}, {6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{4, 9, 7}, {6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{4, 9, 7}, {6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{6, 1, 5}, {7, 4, 5}, {7, 8, 6}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 4, 5}, {7, 8, 6}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{7, 4, 5}, {7, 8, 6}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 2, 2}, {7, 8, 6}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{7, 2, 2}, {7, 8, 6}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 8, 6}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}}\), SequenceForm[ "Cells ", {{7, 8, 6}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{7, 6, 7}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{7, 6, 7}, {8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{8, 1, 7}, {8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{8, 3, 9}, {8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{8, 7, 5}, {8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{8, 9, 8}, {9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{9, 2, 5}, {9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 4, 8}, {9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{9, 4, 8}, {9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 6, 6}, {9, 8, 3}}\), SequenceForm[ "Cells ", {{9, 6, 6}, {9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{9, 8, 3}}\), SequenceForm[ "Cells ", {{9, 8, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with first guess"\ \[InvisibleSpace]{{2, 7, 2}}\), SequenceForm[ "Checking Bifurcation with first guess", {{2, 7, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 3}, {6, 7, 3}}\), SequenceForm[ "Cells ", {{2, 9, 3}, {6, 7, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 3}, {6, 9, 2}}\), SequenceForm[ "Cells ", {{6, 7, 3}, {6, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 2}}\), SequenceForm[ "Cells ", {{6, 9, 2}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "2", "7", "3"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "3", "4", "2"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ InterpretationBox[\("first guess was correct "\[InvisibleSpace]{{2, 7, 2}}\), SequenceForm[ "first guess was correct ", {{2, 7, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Checking Bifurcation with second guess"\ \[InvisibleSpace]{{2, 7, 3}}\), SequenceForm[ "Checking Bifurcation with second guess", {{2, 7, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Bifurcation "\[InvisibleSpace]{1, {{2, 7, 3}}}\), SequenceForm[ "Bifurcation ", {1, {{2, 7, 3}}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{2, 9, 2}, {6, 7, 2}}\), SequenceForm[ "Cells ", {{2, 9, 2}, {6, 7, 2}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 7, 2}, {6, 9, 3}}\), SequenceForm[ "Cells ", {{6, 7, 2}, {6, 9, 3}}], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[\("Cells "\[InvisibleSpace]{{6, 9, 3}}\), SequenceForm[ "Cells ", {{6, 9, 3}}], Editable->False]], "Print"], Cell[BoxData[ \("Found! "\)], "Print"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "7", "3", "2", "5", "8", "6", "9", "4"}, {"8", "4", "5", "9", "6", "1", "3", "7", "2"}, {"6", "9", "2", "3", "7", "4", "1", "8", "5"}, {"2", "8", "6", "4", "3", "5", "9", "1", "7"}, {"9", "3", "4", "7", "1", "2", "8", "5", "6"}, {"5", "1", "7", "6", "8", "9", "2", "4", "3"}, {"3", "2", "8", "5", "9", "7", "4", "6", "1"}, {"7", "6", "9", "1", "4", "3", "5", "2", "8"}, {"4", "5", "1", "8", "2", "6", "7", "3", "9"} }], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Print"], Cell[BoxData[ \({{1, 7, 3, 2, 5, 8, 6, 9, 4}, {8, 4, 5, 9, 6, 1, 3, 7, 2}, {6, 9, 2, 3, 7, 4, 1, 8, 5}, {2, 8, 6, 4, 3, 5, 9, 1, 7}, {9, 3, 4, 7, 1, 2, 8, 5, 6}, {5, 1, 7, 6, 8, 9, 2, 4, 3}, {3, 2, 8, 5, 9, 7, 4, 6, 1}, {7, 6, 9, 1, 4, 3, 5, 2, 8}, {4, 5, 1, 8, 2, 6, 7, 3, 9}}\)], "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]] }, Open ]] }, FrontEndVersion->"5.0 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 681}}, AutoGeneratedPackage->Automatic, WindowSize->{1016, 647}, WindowMargins->{{0, Automatic}, {Automatic, 0}} ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1776, 53, 104, 4, 95, "Title"], Cell[1883, 59, 90, 3, 80, "Subtitle"], Cell[1976, 64, 45, 0, 30, "Subsubtitle"], Cell[2024, 66, 887, 19, 128, "Text"], Cell[CellGroupData[{ Cell[2936, 89, 122, 3, 73, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[3083, 96, 616, 12, 153, "Input", InitializationCell->True], Cell[3702, 110, 322, 4, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[4061, 119, 621, 12, 153, "Input", InitializationCell->True], Cell[4685, 133, 322, 4, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[5044, 142, 623, 12, 153, "Input", InitializationCell->True], Cell[5670, 156, 322, 4, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[6029, 165, 694, 15, 169, "Input", InitializationCell->True], Cell[6726, 182, 322, 4, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7085, 191, 702, 15, 169, "Input", InitializationCell->True], Cell[7790, 208, 322, 4, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[8149, 217, 706, 15, 169, "Input", InitializationCell->True], Cell[8858, 234, 322, 4, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9217, 243, 700, 15, 169, "Input", InitializationCell->True], Cell[9920, 260, 322, 4, 70, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[10291, 270, 85, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[10401, 275, 185, 4, 38, "Subsection", InitializationCell->True], Cell[CellGroupData[{ Cell[10611, 283, 161, 3, 30, "Input", InitializationCell->True], Cell[10775, 288, 115, 2, 70, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[10939, 296, 106, 1, 38, "Subsection", InitializationCell->True], Cell[11048, 299, 116, 2, 30, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[11189, 305, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[11247, 309, 64, 1, 30, "Input"], Cell[11314, 312, 142, 2, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[11493, 319, 45, 1, 30, "Input"], Cell[11541, 322, 130, 2, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[11708, 329, 59, 1, 30, "Input"], Cell[11770, 332, 67, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[11898, 340, 123, 3, 30, "Subsection", InitializationCell->True], Cell[12024, 345, 447, 7, 250, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[12496, 356, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[12554, 360, 90, 1, 30, "Input"], Cell[12647, 363, 43, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[12751, 371, 129, 3, 30, "Subsection", InitializationCell->True], Cell[12883, 376, 410, 8, 230, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[13318, 388, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[13376, 392, 54, 1, 30, "Input"], Cell[13433, 395, 67, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[13561, 403, 188, 4, 30, "Subsection", InitializationCell->True], Cell[13752, 409, 700, 11, 350, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[14477, 424, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[14535, 428, 60, 1, 30, "Input"], Cell[14598, 431, 49, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[14708, 439, 189, 4, 30, "Subsection", InitializationCell->True], Cell[14900, 445, 305, 6, 110, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[15230, 455, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[15288, 459, 58, 1, 30, "Input"], Cell[15349, 462, 36, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[15446, 470, 268, 5, 48, "Subsection", InitializationCell->True], Cell[15717, 477, 605, 12, 270, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[16347, 493, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[16405, 497, 65, 1, 30, "Input"], Cell[16473, 500, 138, 2, 29, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[16684, 510, 83, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[16792, 515, 163, 4, 38, "Subsection", InitializationCell->True], Cell[16958, 521, 301, 6, 170, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[17284, 531, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[17342, 535, 168, 4, 30, "Input"], Cell[17513, 541, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[17588, 547, 170, 4, 30, "Input"], Cell[17761, 553, 39, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[17861, 561, 166, 4, 30, "Subsection", InitializationCell->True], Cell[18030, 567, 139, 3, 50, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[18194, 574, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[18252, 578, 62, 1, 30, "Input"], Cell[18317, 581, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[18676, 590, 168, 4, 30, "Input"], Cell[18847, 596, 38, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[18946, 604, 168, 4, 30, "Subsection", InitializationCell->True], Cell[19117, 610, 397, 8, 170, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[19539, 622, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[19597, 626, 63, 1, 30, "Input"], Cell[19663, 629, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[20022, 638, 171, 4, 30, "Input"], Cell[20196, 644, 39, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[20296, 652, 168, 4, 30, "Subsection", InitializationCell->True], Cell[20467, 658, 597, 14, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[21089, 676, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[21147, 680, 62, 1, 30, "Input"], Cell[21212, 683, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[21287, 689, 64, 1, 30, "Input"], Cell[21354, 692, 39, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[21466, 701, 81, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[21572, 706, 231, 5, 56, "Subsection", InitializationCell->True], Cell[21806, 713, 322, 6, 150, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[22153, 723, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[22211, 727, 62, 1, 30, "Input"], Cell[22276, 730, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[22659, 741, 173, 4, 30, "Subsection", InitializationCell->True], Cell[22835, 747, 200, 4, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[23060, 755, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[23118, 759, 63, 1, 30, "Input"], Cell[23184, 762, 50, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[23295, 770, 238, 5, 48, "Subsection", InitializationCell->True], Cell[23536, 777, 520, 10, 250, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[24081, 791, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[24139, 795, 61, 1, 30, "Input"], Cell[24203, 798, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[24586, 809, 185, 4, 30, "Subsection", InitializationCell->True], Cell[24774, 815, 198, 4, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[24997, 823, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[25055, 827, 73, 1, 30, "Input"], Cell[25131, 830, 42, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[25210, 836, 62, 1, 30, "Input"], Cell[25275, 839, 36, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[25372, 847, 244, 5, 48, "Subsection", InitializationCell->True], Cell[25619, 854, 141, 3, 50, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[25785, 861, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[25843, 865, 61, 1, 30, "Input"], Cell[25907, 868, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[26290, 879, 188, 4, 30, "Subsection", InitializationCell->True], Cell[26481, 885, 162, 3, 50, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[26668, 892, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[26726, 896, 62, 1, 30, "Input"], Cell[26791, 899, 42, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[26894, 907, 247, 5, 48, "Subsection", InitializationCell->True], Cell[27144, 914, 637, 13, 210, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[27806, 931, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[27864, 935, 57, 1, 30, "Input"], Cell[27924, 938, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[28283, 947, 62, 1, 30, "Input"], Cell[28348, 950, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[28731, 961, 190, 4, 30, "Subsection", InitializationCell->True], Cell[28924, 967, 200, 4, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[29149, 975, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[29207, 979, 63, 1, 30, "Input"], Cell[29273, 982, 42, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[29388, 991, 78, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[29491, 996, 178, 4, 38, "Subsection", InitializationCell->True], Cell[29672, 1002, 282, 6, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[29979, 1012, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[30037, 1016, 66, 1, 30, "Input"], Cell[30106, 1019, 56, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[30223, 1027, 254, 5, 48, "Subsection", InitializationCell->True], Cell[30480, 1034, 442, 8, 150, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[30947, 1046, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[31005, 1050, 76, 1, 30, "Input"], Cell[31084, 1053, 45, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[31190, 1061, 257, 5, 48, "Subsection", InitializationCell->True], Cell[31450, 1068, 235, 4, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[31710, 1076, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[31768, 1080, 65, 1, 30, "Input"], Cell[31836, 1083, 45, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[31942, 1091, 259, 5, 48, "Subsection", InitializationCell->True], Cell[32204, 1098, 817, 15, 230, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[33046, 1117, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[33104, 1121, 66, 1, 30, "Input"], Cell[33173, 1124, 45, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[33291, 1133, 145, 4, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[33461, 1141, 382, 7, 74, "Subsection", InitializationCell->True], Cell[33846, 1150, 436, 8, 110, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[34307, 1162, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[34365, 1166, 68, 1, 30, "Input"], Cell[34436, 1169, 39, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[34512, 1175, 63, 1, 30, "Input"], Cell[34578, 1178, 38, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[34677, 1186, 449, 8, 84, "Subsection", InitializationCell->True], Cell[35129, 1196, 464, 9, 210, "Input", InitializationCell->True], Cell[35596, 1207, 230, 4, 90, "Input", InitializationCell->True], Cell[35829, 1213, 182, 4, 50, "Input", InitializationCell->True], Cell[36014, 1219, 230, 4, 90, "Input", InitializationCell->True], Cell[36247, 1225, 658, 13, 210, "Input", InitializationCell->True], Cell[36908, 1240, 232, 4, 90, "Input", InitializationCell->True], Cell[37143, 1246, 451, 9, 90, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[37619, 1259, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[37677, 1263, 141, 3, 30, "Input"], Cell[37821, 1268, 914, 14, 162, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[38772, 1287, 71, 1, 30, "Input"], Cell[38846, 1290, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[38921, 1296, 73, 1, 30, "Input"], Cell[38997, 1299, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[39356, 1308, 72, 1, 30, "Input"], Cell[39431, 1311, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[39790, 1320, 78, 1, 30, "Input"], Cell[39871, 1323, 36, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[39944, 1329, 72, 1, 30, "Input"], Cell[40019, 1332, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[40414, 1344, 90, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[40529, 1349, 703, 11, 128, "Subsection", InitializationCell->True], Cell[41235, 1362, 1498, 30, 330, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[42758, 1396, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[42816, 1400, 116, 2, 30, "Input"], Cell[42935, 1404, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[43010, 1410, 125, 2, 30, "Input"], Cell[43138, 1414, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[43213, 1420, 151, 2, 30, "Input"], Cell[43367, 1424, 212, 4, 25, "Print"], Cell[43582, 1430, 212, 4, 25, "Print"], Cell[43797, 1436, 177, 3, 25, "Print"], Cell[43977, 1441, 177, 3, 25, "Print"], Cell[44157, 1446, 177, 3, 25, "Print"], Cell[44337, 1451, 155, 3, 25, "Print"], Cell[44495, 1456, 155, 3, 25, "Print"], Cell[44653, 1461, 155, 3, 25, "Print"], Cell[44811, 1466, 232, 4, 25, "Print"], Cell[45046, 1472, 210, 4, 25, "Print"], Cell[45259, 1478, 155, 3, 25, "Print"], Cell[45417, 1483, 155, 3, 25, "Print"], Cell[45575, 1488, 210, 4, 25, "Print"], Cell[45788, 1494, 210, 4, 25, "Print"], Cell[46001, 1500, 210, 4, 25, "Print"], Cell[46214, 1506, 210, 4, 25, "Print"], Cell[46427, 1512, 175, 3, 25, "Print"], Cell[46605, 1517, 155, 3, 25, "Print"], Cell[46763, 1522, 177, 3, 25, "Print"], Cell[46943, 1527, 177, 3, 25, "Print"], Cell[47123, 1532, 177, 3, 25, "Print"], Cell[47303, 1537, 177, 3, 25, "Print"], Cell[47483, 1542, 155, 3, 25, "Print"], Cell[47641, 1547, 155, 3, 25, "Print"], Cell[47799, 1552, 155, 3, 25, "Print"], Cell[47957, 1557, 212, 4, 25, "Print"], Cell[48172, 1563, 177, 3, 25, "Print"], Cell[48352, 1568, 263, 5, 25, "Print"], Cell[48618, 1575, 234, 4, 25, "Print"], Cell[48855, 1581, 263, 5, 25, "Print"], Cell[49121, 1588, 263, 5, 25, "Print"], Cell[49387, 1595, 234, 4, 25, "Print"], Cell[49624, 1601, 294, 6, 25, "Print"], Cell[49921, 1609, 316, 6, 25, "Print"], Cell[50240, 1617, 395, 7, 25, "Print"], Cell[50638, 1626, 417, 7, 25, "Print"], Cell[51058, 1635, 395, 7, 25, "Print"], Cell[51456, 1644, 373, 7, 25, "Print"], Cell[51832, 1653, 338, 6, 25, "Print"], Cell[52173, 1661, 316, 6, 25, "Print"], Cell[52492, 1669, 373, 7, 25, "Print"], Cell[52868, 1678, 373, 7, 25, "Print"], Cell[53244, 1687, 373, 7, 25, "Print"], Cell[53620, 1696, 395, 7, 25, "Print"], Cell[54018, 1705, 373, 7, 25, "Print"], Cell[54394, 1714, 338, 6, 25, "Print"], Cell[54735, 1722, 338, 6, 25, "Print"], Cell[55076, 1730, 316, 6, 25, "Print"], Cell[55395, 1738, 294, 6, 25, "Print"], Cell[55692, 1746, 263, 5, 25, "Print"], Cell[55958, 1753, 234, 4, 25, "Print"], Cell[56195, 1759, 212, 4, 25, "Print"], Cell[56410, 1765, 177, 3, 25, "Print"], Cell[56590, 1770, 155, 3, 25, "Print"], Cell[56748, 1775, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[57107, 1784, 114, 2, 30, "Input"], Cell[57224, 1788, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[57299, 1794, 123, 2, 30, "Input"], Cell[57425, 1798, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[57500, 1804, 149, 2, 30, "Input"], Cell[57652, 1808, 177, 3, 25, "Print"], Cell[57832, 1813, 155, 3, 25, "Print"], Cell[57990, 1818, 155, 3, 25, "Print"], Cell[58148, 1823, 155, 3, 25, "Print"], Cell[58306, 1828, 153, 3, 25, "Print"], Cell[58462, 1833, 153, 3, 25, "Print"], Cell[58618, 1838, 155, 3, 25, "Print"], Cell[58776, 1843, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[59135, 1852, 51, 1, 30, "Input"], Cell[59189, 1855, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[59936, 1874, 51, 1, 30, "Input"], Cell[59990, 1877, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[60737, 1896, 60, 1, 30, "Input"], Cell[60800, 1899, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[61547, 1918, 57, 1, 30, "Input"], Cell[61607, 1921, 38, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[61718, 1930, 72, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[61815, 1935, 888, 14, 146, "Subsection", InitializationCell->True], Cell[62706, 1951, 3136, 54, 690, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[65879, 2010, 891, 16, 156, "Subsection", InitializationCell->True], Cell[66773, 2028, 1854, 36, 410, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[68652, 2068, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[68710, 2072, 57, 1, 30, "Input"], Cell[68770, 2075, 177, 3, 25, "Print"], Cell[68950, 2080, 155, 3, 25, "Print"], Cell[69108, 2085, 155, 3, 25, "Print"], Cell[69266, 2090, 155, 3, 25, "Print"], Cell[69424, 2095, 153, 3, 25, "Print"], Cell[69580, 2100, 153, 3, 25, "Print"], Cell[69736, 2105, 155, 3, 25, "Print"], Cell[69894, 2110, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[70253, 2119, 76, 1, 30, "Input"], Cell[70332, 2122, 177, 3, 25, "Print"], Cell[70512, 2127, 155, 3, 25, "Print"], Cell[70670, 2132, 155, 3, 25, "Print"], Cell[70828, 2137, 155, 3, 25, "Print"], Cell[70986, 2142, 153, 3, 25, "Print"], Cell[71142, 2147, 153, 3, 25, "Print"], Cell[71298, 2152, 155, 3, 25, "Print"], Cell[71456, 2157, 208, 4, 25, "Print"], Cell[71667, 2163, 153, 3, 25, "Print"], Cell[71823, 2168, 155, 3, 25, "Print"], Cell[71981, 2173, 155, 3, 25, "Print"], Cell[72139, 2178, 155, 3, 25, "Print"], Cell[72297, 2183, 155, 3, 25, "Print"], Cell[72455, 2188, 155, 3, 25, "Print"], Cell[72613, 2193, 155, 3, 25, "Print"], Cell[72771, 2198, 210, 4, 25, "Print"], Cell[72984, 2204, 175, 3, 25, "Print"], Cell[73162, 2209, 153, 3, 25, "Print"], Cell[73318, 2214, 155, 3, 25, "Print"], Cell[73476, 2219, 177, 3, 25, "Print"], Cell[73656, 2224, 155, 3, 25, "Print"], Cell[73814, 2229, 155, 3, 25, "Print"], Cell[73972, 2234, 175, 3, 25, "Print"], Cell[74150, 2239, 212, 4, 25, "Print"], Cell[74365, 2245, 83, 1, 25, "Print"], Cell[74451, 2248, 709, 14, 149, "Print"], Cell[75163, 2264, 206, 4, 25, "Print"], Cell[75372, 2270, 177, 3, 25, "Print"], Cell[75552, 2275, 153, 3, 25, "Print"], Cell[75708, 2280, 153, 3, 25, "Print"], Cell[75864, 2285, 155, 3, 25, "Print"], Cell[76022, 2290, 153, 3, 25, "Print"], Cell[76178, 2295, 208, 4, 25, "Print"], Cell[76389, 2301, 177, 3, 25, "Print"], Cell[76569, 2306, 212, 4, 25, "Print"], Cell[76784, 2312, 212, 4, 25, "Print"], Cell[76999, 2318, 212, 4, 25, "Print"], Cell[77214, 2324, 177, 3, 25, "Print"], Cell[77394, 2329, 177, 3, 25, "Print"], Cell[77574, 2334, 234, 4, 25, "Print"], Cell[77811, 2340, 294, 6, 25, "Print"], Cell[78108, 2348, 316, 6, 25, "Print"], Cell[78427, 2356, 338, 6, 25, "Print"], Cell[78768, 2364, 338, 6, 25, "Print"], Cell[79109, 2372, 316, 6, 25, "Print"], Cell[79428, 2380, 316, 6, 25, "Print"], Cell[79747, 2388, 294, 6, 25, "Print"], Cell[80044, 2396, 263, 5, 25, "Print"], Cell[80310, 2403, 316, 6, 25, "Print"], Cell[80629, 2411, 294, 6, 25, "Print"], Cell[80926, 2419, 294, 6, 25, "Print"], Cell[81223, 2427, 294, 6, 25, "Print"], Cell[81520, 2435, 263, 5, 25, "Print"], Cell[81786, 2442, 83, 1, 25, "Print"], Cell[81872, 2445, 709, 14, 149, "Print"], Cell[82584, 2461, 206, 4, 25, "Print"], Cell[82793, 2467, 177, 3, 25, "Print"], Cell[82973, 2472, 155, 3, 25, "Print"], Cell[83131, 2477, 210, 4, 25, "Print"], Cell[83344, 2483, 210, 4, 25, "Print"], Cell[83557, 2489, 175, 3, 25, "Print"], Cell[83735, 2494, 153, 3, 25, "Print"], Cell[83891, 2499, 155, 3, 25, "Print"], Cell[84049, 2504, 155, 3, 25, "Print"], Cell[84207, 2509, 155, 3, 25, "Print"], Cell[84365, 2514, 155, 3, 25, "Print"], Cell[84523, 2519, 155, 3, 25, "Print"], Cell[84681, 2524, 153, 3, 25, "Print"], Cell[84837, 2529, 155, 3, 25, "Print"], Cell[84995, 2534, 212, 4, 25, "Print"], Cell[85210, 2540, 234, 4, 25, "Print"], Cell[85447, 2546, 263, 5, 25, "Print"], Cell[85713, 2553, 234, 4, 25, "Print"], Cell[85950, 2559, 212, 4, 25, "Print"], Cell[86165, 2565, 177, 3, 25, "Print"], Cell[86345, 2570, 155, 3, 25, "Print"], Cell[86503, 2575, 155, 3, 25, "Print"], Cell[86661, 2580, 212, 4, 25, "Print"], Cell[86876, 2586, 212, 4, 25, "Print"], Cell[87091, 2592, 212, 4, 25, "Print"], Cell[87306, 2598, 177, 3, 25, "Print"], Cell[87486, 2603, 212, 4, 25, "Print"], Cell[87701, 2609, 263, 5, 25, "Print"], Cell[87967, 2616, 263, 5, 25, "Print"], Cell[88233, 2623, 316, 6, 25, "Print"], Cell[88552, 2631, 316, 6, 25, "Print"], Cell[88871, 2639, 294, 6, 25, "Print"], Cell[89168, 2647, 263, 5, 25, "Print"], Cell[89434, 2654, 294, 6, 25, "Print"], Cell[89731, 2662, 316, 6, 25, "Print"], Cell[90050, 2670, 338, 6, 25, "Print"], Cell[90391, 2678, 316, 6, 25, "Print"], Cell[90710, 2686, 294, 6, 25, "Print"], Cell[91007, 2694, 263, 5, 25, "Print"], Cell[91273, 2701, 234, 4, 25, "Print"], Cell[91510, 2707, 212, 4, 25, "Print"], Cell[91725, 2713, 177, 3, 25, "Print"], Cell[91905, 2718, 155, 3, 25, "Print"], Cell[92063, 2723, 42, 1, 25, "Print"], Cell[92108, 2726, 709, 14, 149, "Print"], Cell[92820, 2742, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[93179, 2751, 51, 1, 30, "Input"], Cell[93233, 2754, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[93980, 2773, 51, 1, 30, "Input"], Cell[94034, 2776, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[94781, 2795, 60, 1, 30, "Input"], Cell[94844, 2798, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[95591, 2817, 57, 1, 30, "Input"], Cell[95651, 2820, 38, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[95762, 2829, 93, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[95880, 2834, 922, 15, 182, "Subsection", InitializationCell->True], Cell[96805, 2851, 1712, 32, 350, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[98542, 2887, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[98600, 2891, 65, 1, 30, "Input"], Cell[98668, 2894, 45, 1, 29, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[98774, 2902, 714, 11, 120, "Subsection", InitializationCell->True], Cell[99491, 2915, 1870, 37, 390, "Input", InitializationCell->True], Cell[101364, 2954, 61, 1, 29, "Subsubsection", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[101462, 2960, 30, 0, 38, "Subsection"], Cell[101495, 2962, 53, 1, 30, "Input"], Cell[CellGroupData[{ Cell[101573, 2967, 128, 2, 30, "Input"], Cell[101704, 2971, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[101779, 2977, 137, 2, 30, "Input"], Cell[101919, 2981, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[101994, 2987, 145, 2, 30, "Input"], Cell[102142, 2991, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[102217, 2997, 164, 3, 30, "Input"], Cell[102384, 3002, 232, 4, 25, "Print"], Cell[102619, 3008, 210, 4, 25, "Print"], Cell[102832, 3014, 261, 5, 25, "Print"], Cell[103096, 3021, 232, 4, 25, "Print"], Cell[103331, 3027, 210, 4, 25, "Print"], Cell[103544, 3033, 175, 3, 25, "Print"], Cell[103722, 3038, 175, 3, 25, "Print"], Cell[103900, 3043, 153, 3, 25, "Print"], Cell[104056, 3048, 232, 4, 25, "Print"], Cell[104291, 3054, 210, 4, 25, "Print"], Cell[104504, 3060, 175, 3, 25, "Print"], Cell[104682, 3065, 153, 3, 25, "Print"], Cell[104838, 3070, 177, 3, 25, "Print"], Cell[105018, 3075, 153, 3, 25, "Print"], Cell[105174, 3080, 153, 3, 25, "Print"], Cell[105330, 3085, 153, 3, 25, "Print"], Cell[105486, 3090, 155, 3, 25, "Print"], Cell[105644, 3095, 177, 3, 25, "Print"], Cell[105824, 3100, 155, 3, 25, "Print"], Cell[105982, 3105, 155, 3, 25, "Print"], Cell[106140, 3110, 175, 3, 25, "Print"], Cell[106318, 3115, 153, 3, 25, "Print"], Cell[106474, 3120, 155, 3, 25, "Print"], Cell[106632, 3125, 161, 3, 25, "Print"], Cell[106796, 3130, 155, 3, 25, "Print"], Cell[106954, 3135, 155, 3, 25, "Print"], Cell[107112, 3140, 212, 4, 25, "Print"], Cell[107327, 3146, 212, 4, 25, "Print"], Cell[107542, 3152, 177, 3, 25, "Print"], Cell[107722, 3157, 177, 3, 25, "Print"], Cell[107902, 3162, 177, 3, 25, "Print"], Cell[108082, 3167, 155, 3, 25, "Print"], Cell[108240, 3172, 177, 3, 25, "Print"], Cell[108420, 3177, 212, 4, 25, "Print"], Cell[108635, 3183, 212, 4, 25, "Print"], Cell[108850, 3189, 234, 4, 25, "Print"], Cell[109087, 3195, 234, 4, 25, "Print"], Cell[109324, 3201, 263, 5, 25, "Print"], Cell[109590, 3208, 294, 6, 25, "Print"], Cell[109887, 3216, 294, 6, 25, "Print"], Cell[110184, 3224, 316, 6, 25, "Print"], Cell[110503, 3232, 338, 6, 25, "Print"], Cell[110844, 3240, 316, 6, 25, "Print"], Cell[111163, 3248, 294, 6, 25, "Print"], Cell[111460, 3256, 263, 5, 25, "Print"], Cell[111726, 3263, 234, 4, 25, "Print"], Cell[111963, 3269, 234, 4, 25, "Print"], Cell[112200, 3275, 234, 4, 25, "Print"], Cell[112437, 3281, 294, 6, 25, "Print"], Cell[112734, 3289, 316, 6, 25, "Print"], Cell[113053, 3297, 294, 6, 25, "Print"], Cell[113350, 3305, 263, 5, 25, "Print"], Cell[113616, 3312, 234, 4, 25, "Print"], Cell[113853, 3318, 212, 4, 25, "Print"], Cell[114068, 3324, 177, 3, 25, "Print"], Cell[114248, 3329, 155, 3, 25, "Print"], Cell[114406, 3334, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[114765, 3343, 46, 1, 30, "Input"], Cell[114814, 3346, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[115561, 3365, 124, 2, 30, "Input"], Cell[115688, 3369, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[115763, 3375, 133, 2, 30, "Input"], Cell[115899, 3379, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[115974, 3385, 141, 2, 30, "Input"], Cell[116118, 3389, 38, 1, 29, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[116193, 3395, 160, 3, 30, "Input"], Cell[116356, 3400, 210, 4, 25, "Print"], Cell[116569, 3406, 175, 3, 25, "Print"], Cell[116747, 3411, 175, 3, 25, "Print"], Cell[116925, 3416, 175, 3, 25, "Print"], Cell[117103, 3421, 175, 3, 25, "Print"], Cell[117281, 3426, 175, 3, 25, "Print"], Cell[117459, 3431, 153, 3, 25, "Print"], Cell[117615, 3436, 153, 3, 25, "Print"], Cell[117771, 3441, 155, 3, 25, "Print"], Cell[117929, 3446, 161, 3, 25, "Print"], Cell[118093, 3451, 155, 3, 25, "Print"], Cell[118251, 3456, 155, 3, 25, "Print"], Cell[118409, 3461, 153, 3, 25, "Print"], Cell[118565, 3466, 153, 3, 25, "Print"], Cell[118721, 3471, 155, 3, 25, "Print"], Cell[118879, 3476, 177, 3, 25, "Print"], Cell[119059, 3481, 177, 3, 25, "Print"], Cell[119239, 3486, 177, 3, 25, "Print"], Cell[119419, 3491, 155, 3, 25, "Print"], Cell[119577, 3496, 155, 3, 25, "Print"], Cell[119735, 3501, 155, 3, 25, "Print"], Cell[119893, 3506, 210, 4, 25, "Print"], Cell[120106, 3512, 210, 4, 25, "Print"], Cell[120319, 3518, 155, 3, 25, "Print"], Cell[120477, 3523, 210, 4, 25, "Print"], Cell[120690, 3529, 210, 4, 25, "Print"], Cell[120903, 3535, 155, 3, 25, "Print"], Cell[121061, 3540, 155, 3, 25, "Print"], Cell[121219, 3545, 177, 3, 25, "Print"], Cell[121399, 3550, 177, 3, 25, "Print"], Cell[121579, 3555, 212, 4, 25, "Print"], Cell[121794, 3561, 234, 4, 25, "Print"], Cell[122031, 3567, 234, 4, 25, "Print"], Cell[122268, 3573, 212, 4, 25, "Print"], Cell[122483, 3579, 177, 3, 25, "Print"], Cell[122663, 3584, 212, 4, 25, "Print"], Cell[122878, 3590, 177, 3, 25, "Print"], Cell[123058, 3595, 155, 3, 25, "Print"], Cell[123216, 3600, 177, 3, 25, "Print"], Cell[123396, 3605, 263, 5, 25, "Print"], Cell[123662, 3612, 263, 5, 25, "Print"], Cell[123928, 3619, 294, 6, 25, "Print"], Cell[124225, 3627, 263, 5, 25, "Print"], Cell[124491, 3634, 263, 5, 25, "Print"], Cell[124757, 3641, 263, 5, 25, "Print"], Cell[125023, 3648, 234, 4, 25, "Print"], Cell[125260, 3654, 234, 4, 25, "Print"], Cell[125497, 3660, 212, 4, 25, "Print"], Cell[125712, 3666, 177, 3, 25, "Print"], Cell[125892, 3671, 177, 3, 25, "Print"], Cell[126072, 3676, 212, 4, 25, "Print"], Cell[126287, 3682, 212, 4, 25, "Print"], Cell[126502, 3688, 212, 4, 25, "Print"], Cell[126717, 3694, 234, 4, 25, "Print"], Cell[126954, 3700, 212, 4, 25, "Print"], Cell[127169, 3706, 177, 3, 25, "Print"], Cell[127349, 3711, 155, 3, 25, "Print"], Cell[127507, 3716, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[127866, 3725, 60, 1, 30, "Input"], Cell[127929, 3728, 177, 3, 25, "Print"], Cell[128109, 3733, 155, 3, 25, "Print"], Cell[128267, 3738, 155, 3, 25, "Print"], Cell[128425, 3743, 155, 3, 25, "Print"], Cell[128583, 3748, 153, 3, 25, "Print"], Cell[128739, 3753, 153, 3, 25, "Print"], Cell[128895, 3758, 155, 3, 25, "Print"], Cell[129053, 3763, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[129436, 3774, 75, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[129536, 3779, 919, 14, 146, "Subsection", InitializationCell->True], Cell[130458, 3795, 3616, 61, 750, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[134111, 3861, 290, 6, 56, "Subsection", InitializationCell->True], Cell[134404, 3869, 1865, 36, 410, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[136306, 3910, 30, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[136361, 3914, 80, 1, 30, "Input"], Cell[136444, 3917, 210, 4, 25, "Print"], Cell[136657, 3923, 175, 3, 25, "Print"], Cell[136835, 3928, 175, 3, 25, "Print"], Cell[137013, 3933, 175, 3, 25, "Print"], Cell[137191, 3938, 175, 3, 25, "Print"], Cell[137369, 3943, 175, 3, 25, "Print"], Cell[137547, 3948, 153, 3, 25, "Print"], Cell[137703, 3953, 153, 3, 25, "Print"], Cell[137859, 3958, 155, 3, 25, "Print"], Cell[138017, 3963, 161, 3, 25, "Print"], Cell[138181, 3968, 155, 3, 25, "Print"], Cell[138339, 3973, 155, 3, 25, "Print"], Cell[138497, 3978, 153, 3, 25, "Print"], Cell[138653, 3983, 153, 3, 25, "Print"], Cell[138809, 3988, 155, 3, 25, "Print"], Cell[138967, 3993, 177, 3, 25, "Print"], Cell[139147, 3998, 177, 3, 25, "Print"], Cell[139327, 4003, 177, 3, 25, "Print"], Cell[139507, 4008, 155, 3, 25, "Print"], Cell[139665, 4013, 155, 3, 25, "Print"], Cell[139823, 4018, 155, 3, 25, "Print"], Cell[139981, 4023, 210, 4, 25, "Print"], Cell[140194, 4029, 210, 4, 25, "Print"], Cell[140407, 4035, 155, 3, 25, "Print"], Cell[140565, 4040, 210, 4, 25, "Print"], Cell[140778, 4046, 210, 4, 25, "Print"], Cell[140991, 4052, 155, 3, 25, "Print"], Cell[141149, 4057, 155, 3, 25, "Print"], Cell[141307, 4062, 177, 3, 25, "Print"], Cell[141487, 4067, 177, 3, 25, "Print"], Cell[141667, 4072, 212, 4, 25, "Print"], Cell[141882, 4078, 234, 4, 25, "Print"], Cell[142119, 4084, 234, 4, 25, "Print"], Cell[142356, 4090, 212, 4, 25, "Print"], Cell[142571, 4096, 177, 3, 25, "Print"], Cell[142751, 4101, 212, 4, 25, "Print"], Cell[142966, 4107, 177, 3, 25, "Print"], Cell[143146, 4112, 155, 3, 25, "Print"], Cell[143304, 4117, 177, 3, 25, "Print"], Cell[143484, 4122, 263, 5, 25, "Print"], Cell[143750, 4129, 263, 5, 25, "Print"], Cell[144016, 4136, 294, 6, 25, "Print"], Cell[144313, 4144, 263, 5, 25, "Print"], Cell[144579, 4151, 263, 5, 25, "Print"], Cell[144845, 4158, 263, 5, 25, "Print"], Cell[145111, 4165, 234, 4, 25, "Print"], Cell[145348, 4171, 234, 4, 25, "Print"], Cell[145585, 4177, 212, 4, 25, "Print"], Cell[145800, 4183, 177, 3, 25, "Print"], Cell[145980, 4188, 177, 3, 25, "Print"], Cell[146160, 4193, 212, 4, 25, "Print"], Cell[146375, 4199, 212, 4, 25, "Print"], Cell[146590, 4205, 212, 4, 25, "Print"], Cell[146805, 4211, 234, 4, 25, "Print"], Cell[147042, 4217, 212, 4, 25, "Print"], Cell[147257, 4223, 177, 3, 25, "Print"], Cell[147437, 4228, 155, 3, 25, "Print"], Cell[147595, 4233, 42, 1, 25, "Print"], Cell[147640, 4236, 709, 14, 149, "Print"], Cell[148352, 4252, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[148711, 4261, 70, 1, 30, "Input"], Cell[148784, 4264, 177, 3, 25, "Print"], Cell[148964, 4269, 155, 3, 25, "Print"], Cell[149122, 4274, 155, 3, 25, "Print"], Cell[149280, 4279, 155, 3, 25, "Print"], Cell[149438, 4284, 153, 3, 25, "Print"], Cell[149594, 4289, 153, 3, 25, "Print"], Cell[149750, 4294, 155, 3, 25, "Print"], Cell[149908, 4299, 208, 4, 25, "Print"], Cell[150119, 4305, 153, 3, 25, "Print"], Cell[150275, 4310, 155, 3, 25, "Print"], Cell[150433, 4315, 155, 3, 25, "Print"], Cell[150591, 4320, 155, 3, 25, "Print"], Cell[150749, 4325, 155, 3, 25, "Print"], Cell[150907, 4330, 155, 3, 25, "Print"], Cell[151065, 4335, 155, 3, 25, "Print"], Cell[151223, 4340, 210, 4, 25, "Print"], Cell[151436, 4346, 175, 3, 25, "Print"], Cell[151614, 4351, 153, 3, 25, "Print"], Cell[151770, 4356, 155, 3, 25, "Print"], Cell[151928, 4361, 177, 3, 25, "Print"], Cell[152108, 4366, 155, 3, 25, "Print"], Cell[152266, 4371, 155, 3, 25, "Print"], Cell[152424, 4376, 175, 3, 25, "Print"], Cell[152602, 4381, 212, 4, 25, "Print"], Cell[152817, 4387, 83, 1, 25, "Print"], Cell[152903, 4390, 709, 14, 149, "Print"], Cell[153615, 4406, 206, 4, 25, "Print"], Cell[153824, 4412, 177, 3, 25, "Print"], Cell[154004, 4417, 153, 3, 25, "Print"], Cell[154160, 4422, 153, 3, 25, "Print"], Cell[154316, 4427, 155, 3, 25, "Print"], Cell[154474, 4432, 153, 3, 25, "Print"], Cell[154630, 4437, 208, 4, 25, "Print"], Cell[154841, 4443, 177, 3, 25, "Print"], Cell[155021, 4448, 212, 4, 25, "Print"], Cell[155236, 4454, 212, 4, 25, "Print"], Cell[155451, 4460, 212, 4, 25, "Print"], Cell[155666, 4466, 177, 3, 25, "Print"], Cell[155846, 4471, 177, 3, 25, "Print"], Cell[156026, 4476, 234, 4, 25, "Print"], Cell[156263, 4482, 294, 6, 25, "Print"], Cell[156560, 4490, 316, 6, 25, "Print"], Cell[156879, 4498, 338, 6, 25, "Print"], Cell[157220, 4506, 338, 6, 25, "Print"], Cell[157561, 4514, 316, 6, 25, "Print"], Cell[157880, 4522, 316, 6, 25, "Print"], Cell[158199, 4530, 294, 6, 25, "Print"], Cell[158496, 4538, 263, 5, 25, "Print"], Cell[158762, 4545, 316, 6, 25, "Print"], Cell[159081, 4553, 294, 6, 25, "Print"], Cell[159378, 4561, 294, 6, 25, "Print"], Cell[159675, 4569, 294, 6, 25, "Print"], Cell[159972, 4577, 263, 5, 25, "Print"], Cell[160238, 4584, 83, 1, 25, "Print"], Cell[160324, 4587, 709, 14, 149, "Print"], Cell[161036, 4603, 206, 4, 25, "Print"], Cell[161245, 4609, 177, 3, 25, "Print"], Cell[161425, 4614, 155, 3, 25, "Print"], Cell[161583, 4619, 210, 4, 25, "Print"], Cell[161796, 4625, 210, 4, 25, "Print"], Cell[162009, 4631, 175, 3, 25, "Print"], Cell[162187, 4636, 153, 3, 25, "Print"], Cell[162343, 4641, 155, 3, 25, "Print"], Cell[162501, 4646, 155, 3, 25, "Print"], Cell[162659, 4651, 155, 3, 25, "Print"], Cell[162817, 4656, 155, 3, 25, "Print"], Cell[162975, 4661, 155, 3, 25, "Print"], Cell[163133, 4666, 153, 3, 25, "Print"], Cell[163289, 4671, 155, 3, 25, "Print"], Cell[163447, 4676, 212, 4, 25, "Print"], Cell[163662, 4682, 234, 4, 25, "Print"], Cell[163899, 4688, 263, 5, 25, "Print"], Cell[164165, 4695, 234, 4, 25, "Print"], Cell[164402, 4701, 212, 4, 25, "Print"], Cell[164617, 4707, 177, 3, 25, "Print"], Cell[164797, 4712, 155, 3, 25, "Print"], Cell[164955, 4717, 155, 3, 25, "Print"], Cell[165113, 4722, 212, 4, 25, "Print"], Cell[165328, 4728, 212, 4, 25, "Print"], Cell[165543, 4734, 212, 4, 25, "Print"], Cell[165758, 4740, 177, 3, 25, "Print"], Cell[165938, 4745, 212, 4, 25, "Print"], Cell[166153, 4751, 263, 5, 25, "Print"], Cell[166419, 4758, 263, 5, 25, "Print"], Cell[166685, 4765, 316, 6, 25, "Print"], Cell[167004, 4773, 316, 6, 25, "Print"], Cell[167323, 4781, 294, 6, 25, "Print"], Cell[167620, 4789, 263, 5, 25, "Print"], Cell[167886, 4796, 294, 6, 25, "Print"], Cell[168183, 4804, 316, 6, 25, "Print"], Cell[168502, 4812, 338, 6, 25, "Print"], Cell[168843, 4820, 316, 6, 25, "Print"], Cell[169162, 4828, 294, 6, 25, "Print"], Cell[169459, 4836, 263, 5, 25, "Print"], Cell[169725, 4843, 234, 4, 25, "Print"], Cell[169962, 4849, 212, 4, 25, "Print"], Cell[170177, 4855, 177, 3, 25, "Print"], Cell[170357, 4860, 155, 3, 25, "Print"], Cell[170515, 4865, 42, 1, 25, "Print"], Cell[170560, 4868, 709, 14, 149, "Print"], Cell[171272, 4884, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[171655, 4895, 63, 1, 43, "Section", InitializationCell->True], Cell[CellGroupData[{ Cell[171743, 4900, 846, 13, 164, "Subsection", InitializationCell->True], Cell[172592, 4915, 197, 5, 30, "Input", InitializationCell->True], Cell[172792, 4922, 133, 3, 30, "Input", InitializationCell->True], Cell[172928, 4927, 140, 4, 30, "Input", InitializationCell->True], Cell[173071, 4933, 65, 1, 30, "Input", InitializationCell->True], Cell[173139, 4936, 8390, 157, 1650, "Input", InitializationCell->True], Cell[181532, 5095, 63, 1, 30, "Input", InitializationCell->True], Cell[181598, 5098, 64, 1, 30, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[181687, 5103, 33, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[181745, 5107, 60, 1, 30, "Input"], Cell[181808, 5110, 49, 1, 25, "Print"], Cell[181860, 5113, 709, 14, 149, "Print"], Cell[182572, 5129, 175, 3, 25, "Print"], Cell[182750, 5134, 49, 1, 25, "Print"], Cell[182802, 5137, 709, 14, 149, "Print"], Cell[183514, 5153, 175, 3, 25, "Print"], Cell[183692, 5158, 208, 4, 25, "Print"], Cell[183903, 5164, 155, 3, 25, "Print"], Cell[184061, 5169, 153, 3, 25, "Print"], Cell[184217, 5174, 153, 3, 25, "Print"], Cell[184373, 5179, 208, 4, 25, "Print"], Cell[184584, 5185, 155, 3, 25, "Print"], Cell[184742, 5190, 155, 3, 25, "Print"], Cell[184900, 5195, 208, 4, 25, "Print"], Cell[185111, 5201, 155, 3, 25, "Print"], Cell[185269, 5206, 208, 4, 25, "Print"], Cell[185480, 5212, 177, 3, 25, "Print"], Cell[185660, 5217, 212, 4, 25, "Print"], Cell[185875, 5223, 177, 3, 25, "Print"], Cell[186055, 5228, 177, 3, 25, "Print"], Cell[186235, 5233, 177, 3, 25, "Print"], Cell[186415, 5238, 212, 4, 25, "Print"], Cell[186630, 5244, 234, 4, 25, "Print"], Cell[186867, 5250, 263, 5, 25, "Print"], Cell[187133, 5257, 294, 6, 25, "Print"], Cell[187430, 5265, 263, 5, 25, "Print"], Cell[187696, 5272, 234, 4, 25, "Print"], Cell[187933, 5278, 212, 4, 25, "Print"], Cell[188148, 5284, 177, 3, 25, "Print"], Cell[188328, 5289, 155, 3, 25, "Print"], Cell[188486, 5294, 208, 4, 25, "Print"], Cell[188697, 5300, 177, 3, 25, "Print"], Cell[188877, 5305, 177, 3, 25, "Print"], Cell[189057, 5310, 212, 4, 25, "Print"], Cell[189272, 5316, 177, 3, 25, "Print"], Cell[189452, 5321, 155, 3, 25, "Print"], Cell[189610, 5326, 42, 1, 25, "Print"], Cell[189655, 5329, 709, 14, 149, "Print"], Cell[190367, 5345, 181, 3, 25, "Print"], Cell[190551, 5350, 42, 1, 25, "Print"], Cell[190596, 5353, 709, 14, 149, "Print"], Cell[191308, 5369, 181, 3, 25, "Print"], Cell[191492, 5374, 42, 1, 25, "Print"], Cell[191537, 5377, 709, 14, 149, "Print"], Cell[192249, 5393, 181, 3, 25, "Print"], Cell[192433, 5398, 42, 1, 25, "Print"], Cell[192478, 5401, 709, 14, 149, "Print"], Cell[193190, 5417, 181, 3, 25, "Print"], Cell[193374, 5422, 42, 1, 25, "Print"], Cell[193419, 5425, 709, 14, 149, "Print"], Cell[194131, 5441, 181, 3, 25, "Print"], Cell[194315, 5446, 42, 1, 25, "Print"], Cell[194360, 5449, 709, 14, 149, "Print"], Cell[195072, 5465, 49, 1, 25, "Print"], Cell[195124, 5468, 709, 14, 149, "Print"], Cell[195836, 5484, 175, 3, 25, "Print"], Cell[196014, 5489, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[196397, 5500, 1225, 19, 228, "Subsection", InitializationCell->True], Cell[CellGroupData[{ Cell[197647, 5523, 183, 4, 29, "Subsubsection", InitializationCell->True], Cell[197833, 5529, 3192, 54, 690, "Input", InitializationCell->True], Cell[201028, 5585, 2545, 48, 490, "Input", InitializationCell->True], Cell[203576, 5635, 3651, 60, 770, "Input", InitializationCell->True], Cell[207230, 5697, 2556, 48, 490, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[209823, 5750, 33, 0, 23, "Subsubsection"], Cell[CellGroupData[{ Cell[209881, 5754, 665, 14, 169, "Input"], Cell[210549, 5770, 362, 5, 22, "Message"], Cell[210914, 5777, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[211273, 5786, 70, 1, 30, "Input"], Cell[211346, 5789, 1205, 23, 153, "Output"] }, Closed]], Cell[212566, 5815, 60, 1, 30, "Input"], Cell[CellGroupData[{ Cell[212651, 5820, 351, 5, 70, "Input"], Cell[213005, 5827, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[213364, 5836, 63, 1, 30, "Input"], Cell[213430, 5839, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[214177, 5858, 115, 2, 30, "Input"], Cell[214295, 5862, 234, 4, 25, "Print"], Cell[214532, 5868, 212, 4, 25, "Print"], Cell[214747, 5874, 212, 4, 25, "Print"], Cell[214962, 5880, 212, 4, 25, "Print"], Cell[215177, 5886, 177, 3, 25, "Print"], Cell[215357, 5891, 177, 3, 25, "Print"], Cell[215537, 5896, 234, 4, 25, "Print"], Cell[215774, 5902, 263, 5, 25, "Print"], Cell[216040, 5909, 316, 6, 25, "Print"], Cell[216359, 5917, 373, 7, 25, "Print"], Cell[216735, 5926, 373, 7, 25, "Print"], Cell[217111, 5935, 373, 7, 25, "Print"], Cell[217487, 5944, 338, 6, 25, "Print"], Cell[217828, 5952, 316, 6, 25, "Print"], Cell[218147, 5960, 294, 6, 25, "Print"], Cell[218444, 5968, 263, 5, 25, "Print"], Cell[218710, 5975, 234, 4, 25, "Print"], Cell[218947, 5981, 234, 4, 25, "Print"], Cell[219184, 5987, 212, 4, 25, "Print"], Cell[219399, 5993, 234, 4, 25, "Print"], Cell[219636, 5999, 212, 4, 25, "Print"], Cell[219851, 6005, 234, 4, 25, "Print"], Cell[220088, 6011, 294, 6, 25, "Print"], Cell[220385, 6019, 417, 7, 25, "Print"], Cell[220805, 6028, 395, 7, 25, "Print"], Cell[221203, 6037, 395, 7, 25, "Print"], Cell[221601, 6046, 373, 7, 25, "Print"], Cell[221977, 6055, 373, 7, 25, "Print"], Cell[222353, 6064, 395, 7, 25, "Print"], Cell[222751, 6073, 373, 7, 25, "Print"], Cell[223127, 6082, 373, 7, 25, "Print"], Cell[223503, 6091, 338, 6, 25, "Print"], Cell[223844, 6099, 338, 6, 25, "Print"], Cell[224185, 6107, 316, 6, 25, "Print"], Cell[224504, 6115, 316, 6, 25, "Print"], Cell[224823, 6123, 316, 6, 25, "Print"], Cell[225142, 6131, 316, 6, 25, "Print"], Cell[225461, 6139, 316, 6, 25, "Print"], Cell[225780, 6147, 294, 6, 25, "Print"], Cell[226077, 6155, 263, 5, 25, "Print"], Cell[226343, 6162, 263, 5, 25, "Print"], Cell[226609, 6169, 234, 4, 25, "Print"], Cell[226846, 6175, 212, 4, 25, "Print"], Cell[227061, 6181, 177, 3, 25, "Print"], Cell[227241, 6186, 155, 3, 25, "Print"], Cell[227399, 6191, 42, 1, 25, "Print"], Cell[227444, 6194, 709, 14, 149, "Print"], Cell[228156, 6210, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[228515, 6219, 46, 1, 30, "Input"], Cell[228564, 6222, 710, 14, 153, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[229311, 6241, 64, 1, 30, "Input"], Cell[229378, 6244, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[229737, 6253, 1082, 21, 290, "Input"], Cell[230822, 6276, 49, 1, 25, "Print"], Cell[230874, 6279, 709, 14, 149, "Print"], Cell[231586, 6295, 175, 3, 25, "Print"], Cell[231764, 6300, 49, 1, 25, "Print"], Cell[231816, 6303, 709, 14, 149, "Print"], Cell[232528, 6319, 175, 3, 25, "Print"], Cell[232706, 6324, 208, 4, 25, "Print"], Cell[232917, 6330, 208, 4, 25, "Print"], Cell[233128, 6336, 208, 4, 25, "Print"], Cell[233339, 6342, 177, 3, 25, "Print"], Cell[233519, 6347, 212, 4, 25, "Print"], Cell[233734, 6353, 212, 4, 25, "Print"], Cell[233949, 6359, 177, 3, 25, "Print"], Cell[234129, 6364, 155, 3, 25, "Print"], Cell[234287, 6369, 212, 4, 25, "Print"], Cell[234502, 6375, 212, 4, 25, "Print"], Cell[234717, 6381, 212, 4, 25, "Print"], Cell[234932, 6387, 177, 3, 25, "Print"], Cell[235112, 6392, 155, 3, 25, "Print"], Cell[235270, 6397, 177, 3, 25, "Print"], Cell[235450, 6402, 212, 4, 25, "Print"], Cell[235665, 6408, 177, 3, 25, "Print"], Cell[235845, 6413, 155, 3, 25, "Print"], Cell[236003, 6418, 177, 3, 25, "Print"], Cell[236183, 6423, 155, 3, 25, "Print"], Cell[236341, 6428, 153, 3, 25, "Print"], Cell[236497, 6433, 208, 4, 25, "Print"], Cell[236708, 6439, 177, 3, 25, "Print"], Cell[236888, 6444, 177, 3, 25, "Print"], Cell[237068, 6449, 177, 3, 25, "Print"], Cell[237248, 6454, 177, 3, 25, "Print"], Cell[237428, 6459, 155, 3, 25, "Print"], Cell[237586, 6464, 208, 4, 25, "Print"], Cell[237797, 6470, 177, 3, 25, "Print"], Cell[237977, 6475, 177, 3, 25, "Print"], Cell[238157, 6480, 155, 3, 25, "Print"], Cell[238315, 6485, 42, 1, 25, "Print"], Cell[238360, 6488, 709, 14, 149, "Print"], Cell[239072, 6504, 181, 3, 25, "Print"], Cell[239256, 6509, 42, 1, 25, "Print"], Cell[239301, 6512, 709, 14, 149, "Print"], Cell[240013, 6528, 181, 3, 25, "Print"], Cell[240197, 6533, 42, 1, 25, "Print"], Cell[240242, 6536, 709, 14, 149, "Print"], Cell[240954, 6552, 181, 3, 25, "Print"], Cell[241138, 6557, 42, 1, 25, "Print"], Cell[241183, 6560, 709, 14, 149, "Print"], Cell[241895, 6576, 181, 3, 25, "Print"], Cell[242079, 6581, 42, 1, 25, "Print"], Cell[242124, 6584, 709, 14, 149, "Print"], Cell[242836, 6600, 181, 3, 25, "Print"], Cell[243020, 6605, 42, 1, 25, "Print"], Cell[243065, 6608, 709, 14, 149, "Print"], Cell[243777, 6624, 49, 1, 25, "Print"], Cell[243829, 6627, 709, 14, 149, "Print"], Cell[244541, 6643, 175, 3, 25, "Print"], Cell[244719, 6648, 105, 2, 25, "Print"], Cell[244827, 6652, 294, 6, 25, "Print"], Cell[245124, 6660, 316, 6, 25, "Print"], Cell[245443, 6668, 316, 6, 25, "Print"], Cell[245762, 6676, 294, 6, 25, "Print"], Cell[246059, 6684, 316, 6, 25, "Print"], Cell[246378, 6692, 316, 6, 25, "Print"], Cell[246697, 6700, 294, 6, 25, "Print"], Cell[246994, 6708, 294, 6, 25, "Print"], Cell[247291, 6716, 263, 5, 25, "Print"], Cell[247557, 6723, 234, 4, 25, "Print"], Cell[247794, 6729, 212, 4, 25, "Print"], Cell[248009, 6735, 234, 4, 25, "Print"], Cell[248246, 6741, 294, 6, 25, "Print"], Cell[248543, 6749, 294, 6, 25, "Print"], Cell[248840, 6757, 263, 5, 25, "Print"], Cell[249106, 6764, 263, 5, 25, "Print"], Cell[249372, 6771, 263, 5, 25, "Print"], Cell[249638, 6778, 234, 4, 25, "Print"], Cell[249875, 6784, 234, 4, 25, "Print"], Cell[250112, 6790, 234, 4, 25, "Print"], Cell[250349, 6796, 234, 4, 25, "Print"], Cell[250586, 6802, 234, 4, 25, "Print"], Cell[250823, 6808, 212, 4, 25, "Print"], Cell[251038, 6814, 177, 3, 25, "Print"], Cell[251218, 6819, 155, 3, 25, "Print"], Cell[251376, 6824, 261, 5, 25, "Print"], Cell[251640, 6831, 232, 4, 25, "Print"], Cell[251875, 6837, 232, 4, 25, "Print"], Cell[252110, 6843, 232, 4, 25, "Print"], Cell[252345, 6849, 210, 4, 25, "Print"], Cell[252558, 6855, 210, 4, 25, "Print"], Cell[252771, 6861, 155, 3, 25, "Print"], Cell[252929, 6866, 210, 4, 25, "Print"], Cell[253142, 6872, 175, 3, 25, "Print"], Cell[253320, 6877, 153, 3, 25, "Print"], Cell[253476, 6882, 105, 2, 25, "Print"], Cell[253584, 6886, 263, 5, 25, "Print"], Cell[253850, 6893, 234, 4, 25, "Print"], Cell[254087, 6899, 234, 4, 25, "Print"], Cell[254324, 6905, 212, 4, 25, "Print"], Cell[254539, 6911, 212, 4, 25, "Print"], Cell[254754, 6917, 234, 4, 25, "Print"], Cell[254991, 6923, 294, 6, 25, "Print"], Cell[255288, 6931, 294, 6, 25, "Print"], Cell[255585, 6939, 316, 6, 25, "Print"], Cell[255904, 6947, 294, 6, 25, "Print"], Cell[256201, 6955, 294, 6, 25, "Print"], Cell[256498, 6963, 294, 6, 25, "Print"], Cell[256795, 6971, 263, 5, 25, "Print"], Cell[257061, 6978, 234, 4, 25, "Print"], Cell[257298, 6984, 234, 4, 25, "Print"], Cell[257535, 6990, 212, 4, 25, "Print"], Cell[257750, 6996, 177, 3, 25, "Print"], Cell[257930, 7001, 177, 3, 25, "Print"], Cell[258110, 7006, 155, 3, 25, "Print"], Cell[258268, 7011, 177, 3, 25, "Print"], Cell[258448, 7016, 155, 3, 25, "Print"], Cell[258606, 7021, 175, 3, 25, "Print"], Cell[258784, 7026, 153, 3, 25, "Print"], Cell[258940, 7031, 161, 3, 25, "Print"], Cell[259104, 7036, 155, 3, 25, "Print"], Cell[259262, 7041, 155, 3, 25, "Print"], Cell[259420, 7046, 177, 3, 25, "Print"], Cell[259600, 7051, 177, 3, 25, "Print"], Cell[259780, 7056, 177, 3, 25, "Print"], Cell[259960, 7061, 177, 3, 25, "Print"], Cell[260140, 7066, 155, 3, 25, "Print"], Cell[260298, 7071, 105, 2, 25, "Print"], Cell[260406, 7075, 294, 6, 25, "Print"], Cell[260703, 7083, 263, 5, 25, "Print"], Cell[260969, 7090, 294, 6, 25, "Print"], Cell[261266, 7098, 294, 6, 25, "Print"], Cell[261563, 7106, 316, 6, 25, "Print"], Cell[261882, 7114, 338, 6, 25, "Print"], Cell[262223, 7122, 316, 6, 25, "Print"], Cell[262542, 7130, 316, 6, 25, "Print"], Cell[262861, 7138, 294, 6, 25, "Print"], Cell[263158, 7146, 263, 5, 25, "Print"], Cell[263424, 7153, 294, 6, 25, "Print"], Cell[263721, 7161, 263, 5, 25, "Print"], Cell[263987, 7168, 263, 5, 25, "Print"], Cell[264253, 7175, 234, 4, 25, "Print"], Cell[264490, 7181, 263, 5, 25, "Print"], Cell[264756, 7188, 294, 6, 25, "Print"], Cell[265053, 7196, 316, 6, 25, "Print"], Cell[265372, 7204, 294, 6, 25, "Print"], Cell[265669, 7212, 316, 6, 25, "Print"], Cell[265988, 7220, 316, 6, 25, "Print"], Cell[266307, 7228, 294, 6, 25, "Print"], Cell[266604, 7236, 294, 6, 25, "Print"], Cell[266901, 7244, 316, 6, 25, "Print"], Cell[267220, 7252, 316, 6, 25, "Print"], Cell[267539, 7260, 294, 6, 25, "Print"], Cell[267836, 7268, 263, 5, 25, "Print"], Cell[268102, 7275, 263, 5, 25, "Print"], Cell[268368, 7282, 234, 4, 25, "Print"], Cell[268605, 7288, 263, 5, 25, "Print"], Cell[268871, 7295, 294, 6, 25, "Print"], Cell[269168, 7303, 294, 6, 25, "Print"], Cell[269465, 7311, 294, 6, 25, "Print"], Cell[269762, 7319, 263, 5, 25, "Print"], Cell[270028, 7326, 234, 4, 25, "Print"], Cell[270265, 7332, 234, 4, 25, "Print"], Cell[270502, 7338, 234, 4, 25, "Print"], Cell[270739, 7344, 263, 5, 25, "Print"], Cell[271005, 7351, 234, 4, 25, "Print"], Cell[271242, 7357, 212, 4, 25, "Print"], Cell[271457, 7363, 177, 3, 25, "Print"], Cell[271637, 7368, 155, 3, 25, "Print"], Cell[271795, 7373, 105, 2, 25, "Print"], Cell[271903, 7377, 234, 4, 25, "Print"], Cell[272140, 7383, 212, 4, 25, "Print"], Cell[272355, 7389, 263, 5, 25, "Print"], Cell[272621, 7396, 263, 5, 25, "Print"], Cell[272887, 7403, 263, 5, 25, "Print"], Cell[273153, 7410, 234, 4, 25, "Print"], Cell[273390, 7416, 234, 4, 25, "Print"], Cell[273627, 7422, 212, 4, 25, "Print"], Cell[273842, 7428, 177, 3, 25, "Print"], Cell[274022, 7433, 177, 3, 25, "Print"], Cell[274202, 7438, 155, 3, 25, "Print"], Cell[274360, 7443, 261, 5, 25, "Print"], Cell[274624, 7450, 155, 3, 25, "Print"], Cell[274782, 7455, 155, 3, 25, "Print"], Cell[274940, 7460, 155, 3, 25, "Print"], Cell[275098, 7465, 155, 3, 25, "Print"], Cell[275256, 7470, 261, 5, 25, "Print"], Cell[275520, 7477, 232, 4, 25, "Print"], Cell[275755, 7483, 210, 4, 25, "Print"], Cell[275968, 7489, 210, 4, 25, "Print"], Cell[276181, 7495, 155, 3, 25, "Print"], Cell[276339, 7500, 175, 3, 25, "Print"], Cell[276517, 7505, 153, 3, 25, "Print"], Cell[276673, 7510, 105, 2, 25, "Print"], Cell[276781, 7514, 234, 4, 25, "Print"], Cell[277018, 7520, 212, 4, 25, "Print"], Cell[277233, 7526, 177, 3, 25, "Print"], Cell[277413, 7531, 212, 4, 25, "Print"], Cell[277628, 7537, 177, 3, 25, "Print"], Cell[277808, 7542, 177, 3, 25, "Print"], Cell[277988, 7547, 155, 3, 25, "Print"], Cell[278146, 7552, 232, 4, 25, "Print"], Cell[278381, 7558, 292, 6, 25, "Print"], Cell[278676, 7566, 261, 5, 25, "Print"], Cell[278940, 7573, 232, 4, 25, "Print"], Cell[279175, 7579, 210, 4, 25, "Print"], Cell[279388, 7585, 155, 3, 25, "Print"], Cell[279546, 7590, 212, 4, 25, "Print"], Cell[279761, 7596, 177, 3, 25, "Print"], Cell[279941, 7601, 212, 4, 25, "Print"], Cell[280156, 7607, 212, 4, 25, "Print"], Cell[280371, 7613, 212, 4, 25, "Print"], Cell[280586, 7619, 234, 4, 25, "Print"], Cell[280823, 7625, 212, 4, 25, "Print"], Cell[281038, 7631, 212, 4, 25, "Print"], Cell[281253, 7637, 234, 4, 25, "Print"], Cell[281490, 7643, 294, 6, 25, "Print"], Cell[281787, 7651, 338, 6, 25, "Print"], Cell[282128, 7659, 338, 6, 25, "Print"], Cell[282469, 7667, 316, 6, 25, "Print"], Cell[282788, 7675, 294, 6, 25, "Print"], Cell[283085, 7683, 263, 5, 25, "Print"], Cell[283351, 7690, 234, 4, 25, "Print"], Cell[283588, 7696, 212, 4, 25, "Print"], Cell[283803, 7702, 177, 3, 25, "Print"], Cell[283983, 7707, 155, 3, 25, "Print"], Cell[284141, 7712, 155, 3, 25, "Print"], Cell[284299, 7717, 105, 2, 25, "Print"], Cell[284407, 7721, 294, 6, 25, "Print"], Cell[284704, 7729, 263, 5, 25, "Print"], Cell[284970, 7736, 263, 5, 25, "Print"], Cell[285236, 7743, 234, 4, 25, "Print"], Cell[285473, 7749, 212, 4, 25, "Print"], Cell[285688, 7755, 177, 3, 25, "Print"], Cell[285868, 7760, 177, 3, 25, "Print"], Cell[286048, 7765, 155, 3, 25, "Print"], Cell[286206, 7770, 153, 3, 25, "Print"], Cell[286362, 7775, 155, 3, 25, "Print"], Cell[286520, 7780, 153, 3, 25, "Print"], Cell[286676, 7785, 155, 3, 25, "Print"], Cell[286834, 7790, 105, 2, 25, "Print"], Cell[286942, 7794, 234, 4, 25, "Print"], Cell[287179, 7800, 234, 4, 25, "Print"], Cell[287416, 7806, 212, 4, 25, "Print"], Cell[287631, 7812, 177, 3, 25, "Print"], Cell[287811, 7817, 155, 3, 25, "Print"], Cell[287969, 7822, 155, 3, 25, "Print"], Cell[288127, 7827, 155, 3, 25, "Print"], Cell[288285, 7832, 314, 6, 25, "Print"], Cell[288602, 7840, 292, 6, 25, "Print"], Cell[288897, 7848, 261, 5, 25, "Print"], Cell[289161, 7855, 232, 4, 25, "Print"], Cell[289396, 7861, 232, 4, 25, "Print"], Cell[289631, 7867, 210, 4, 25, "Print"], Cell[289844, 7873, 175, 3, 25, "Print"], Cell[290022, 7878, 153, 3, 25, "Print"], Cell[290178, 7883, 261, 5, 25, "Print"], Cell[290442, 7890, 155, 3, 25, "Print"], Cell[290600, 7895, 177, 3, 25, "Print"], Cell[290780, 7900, 177, 3, 25, "Print"], Cell[290960, 7905, 177, 3, 25, "Print"], Cell[291140, 7910, 155, 3, 25, "Print"], Cell[291298, 7915, 177, 3, 25, "Print"], Cell[291478, 7920, 155, 3, 25, "Print"], Cell[291636, 7925, 155, 3, 25, "Print"], Cell[291794, 7930, 177, 3, 25, "Print"], Cell[291974, 7935, 155, 3, 25, "Print"], Cell[292132, 7940, 153, 3, 25, "Print"], Cell[292288, 7945, 153, 3, 25, "Print"], Cell[292444, 7950, 155, 3, 25, "Print"], Cell[292602, 7955, 177, 3, 25, "Print"], Cell[292782, 7960, 177, 3, 25, "Print"], Cell[292962, 7965, 212, 4, 25, "Print"], Cell[293177, 7971, 234, 4, 25, "Print"], Cell[293414, 7977, 263, 5, 25, "Print"], Cell[293680, 7984, 234, 4, 25, "Print"], Cell[293917, 7990, 234, 4, 25, "Print"], Cell[294154, 7996, 212, 4, 25, "Print"], Cell[294369, 8002, 177, 3, 25, "Print"], Cell[294549, 8007, 155, 3, 25, "Print"], Cell[294707, 8012, 105, 2, 25, "Print"], Cell[294815, 8016, 294, 6, 25, "Print"], Cell[295112, 8024, 294, 6, 25, "Print"], Cell[295409, 8032, 338, 6, 25, "Print"], Cell[295750, 8040, 338, 6, 25, "Print"], Cell[296091, 8048, 338, 6, 25, "Print"], Cell[296432, 8056, 338, 6, 25, "Print"], Cell[296773, 8064, 316, 6, 25, "Print"], Cell[297092, 8072, 338, 6, 25, "Print"], Cell[297433, 8080, 338, 6, 25, "Print"], Cell[297774, 8088, 316, 6, 25, "Print"], Cell[298093, 8096, 316, 6, 25, "Print"], Cell[298412, 8104, 294, 6, 25, "Print"], Cell[298709, 8112, 263, 5, 25, "Print"], Cell[298975, 8119, 234, 4, 25, "Print"], Cell[299212, 8125, 234, 4, 25, "Print"], Cell[299449, 8131, 234, 4, 25, "Print"], Cell[299686, 8137, 212, 4, 25, "Print"], Cell[299901, 8143, 177, 3, 25, "Print"], Cell[300081, 8148, 212, 4, 25, "Print"], Cell[300296, 8154, 212, 4, 25, "Print"], Cell[300511, 8160, 263, 5, 25, "Print"], Cell[300777, 8167, 263, 5, 25, "Print"], Cell[301043, 8174, 234, 4, 25, "Print"], Cell[301280, 8180, 234, 4, 25, "Print"], Cell[301517, 8186, 212, 4, 25, "Print"], Cell[301732, 8192, 177, 3, 25, "Print"], Cell[301912, 8197, 155, 3, 25, "Print"], Cell[302070, 8202, 175, 3, 25, "Print"], Cell[302248, 8207, 153, 3, 25, "Print"], Cell[302404, 8212, 153, 3, 25, "Print"], Cell[302560, 8217, 153, 3, 25, "Print"], Cell[302716, 8222, 105, 2, 25, "Print"], Cell[302824, 8226, 294, 6, 25, "Print"], Cell[303121, 8234, 373, 7, 25, "Print"], Cell[303497, 8243, 338, 6, 25, "Print"], Cell[303838, 8251, 338, 6, 25, "Print"], Cell[304179, 8259, 373, 7, 25, "Print"], Cell[304555, 8268, 373, 7, 25, "Print"], Cell[304931, 8277, 373, 7, 25, "Print"], Cell[305307, 8286, 395, 7, 25, "Print"], Cell[305705, 8295, 373, 7, 25, "Print"], Cell[306081, 8304, 373, 7, 25, "Print"], Cell[306457, 8313, 373, 7, 25, "Print"], Cell[306833, 8322, 338, 6, 25, "Print"], Cell[307174, 8330, 316, 6, 25, "Print"], Cell[307493, 8338, 373, 7, 25, "Print"], Cell[307869, 8347, 338, 6, 25, "Print"], Cell[308210, 8355, 316, 6, 25, "Print"], Cell[308529, 8363, 294, 6, 25, "Print"], Cell[308826, 8371, 294, 6, 25, "Print"], Cell[309123, 8379, 263, 5, 25, "Print"], Cell[309389, 8386, 234, 4, 25, "Print"], Cell[309626, 8392, 234, 4, 25, "Print"], Cell[309863, 8398, 263, 5, 25, "Print"], Cell[310129, 8405, 234, 4, 25, "Print"], Cell[310366, 8411, 234, 4, 25, "Print"], Cell[310603, 8417, 212, 4, 25, "Print"], Cell[310818, 8423, 177, 3, 25, "Print"], Cell[310998, 8428, 155, 3, 25, "Print"], Cell[311156, 8433, 212, 4, 25, "Print"], Cell[311371, 8439, 177, 3, 25, "Print"], Cell[311551, 8444, 177, 3, 25, "Print"], Cell[311731, 8449, 177, 3, 25, "Print"], Cell[311911, 8454, 155, 3, 25, "Print"], Cell[312069, 8459, 177, 3, 25, "Print"], Cell[312249, 8464, 177, 3, 25, "Print"], Cell[312429, 8469, 155, 3, 25, "Print"], Cell[312587, 8474, 153, 3, 25, "Print"], Cell[312743, 8479, 105, 2, 25, "Print"], Cell[312851, 8483, 212, 4, 25, "Print"], Cell[313066, 8489, 177, 3, 25, "Print"], Cell[313246, 8494, 212, 4, 25, "Print"], Cell[313461, 8500, 234, 4, 25, "Print"], Cell[313698, 8506, 212, 4, 25, "Print"], Cell[313913, 8512, 234, 4, 25, "Print"], Cell[314150, 8518, 263, 5, 25, "Print"], Cell[314416, 8525, 234, 4, 25, "Print"], Cell[314653, 8531, 212, 4, 25, "Print"], Cell[314868, 8537, 234, 4, 25, "Print"], Cell[315105, 8543, 263, 5, 25, "Print"], Cell[315371, 8550, 263, 5, 25, "Print"], Cell[315637, 8557, 263, 5, 25, "Print"], Cell[315903, 8564, 263, 5, 25, "Print"], Cell[316169, 8571, 263, 5, 25, "Print"], Cell[316435, 8578, 294, 6, 25, "Print"], Cell[316732, 8586, 294, 6, 25, "Print"], Cell[317029, 8594, 263, 5, 25, "Print"], Cell[317295, 8601, 294, 6, 25, "Print"], Cell[317592, 8609, 294, 6, 25, "Print"], Cell[317889, 8617, 263, 5, 25, "Print"], Cell[318155, 8624, 263, 5, 25, "Print"], Cell[318421, 8631, 234, 4, 25, "Print"], Cell[318658, 8637, 212, 4, 25, "Print"], Cell[318873, 8643, 212, 4, 25, "Print"], Cell[319088, 8649, 212, 4, 25, "Print"], Cell[319303, 8655, 177, 3, 25, "Print"], Cell[319483, 8660, 155, 3, 25, "Print"], Cell[319641, 8665, 212, 4, 25, "Print"], Cell[319856, 8671, 177, 3, 25, "Print"], Cell[320036, 8676, 177, 3, 25, "Print"], Cell[320216, 8681, 212, 4, 25, "Print"], Cell[320431, 8687, 212, 4, 25, "Print"], Cell[320646, 8693, 177, 3, 25, "Print"], Cell[320826, 8698, 155, 3, 25, "Print"], Cell[320984, 8703, 177, 3, 25, "Print"], Cell[321164, 8708, 177, 3, 25, "Print"], Cell[321344, 8713, 212, 4, 25, "Print"], Cell[321559, 8719, 177, 3, 25, "Print"], Cell[321739, 8724, 212, 4, 25, "Print"], Cell[321954, 8730, 177, 3, 25, "Print"], Cell[322134, 8735, 212, 4, 25, "Print"], Cell[322349, 8741, 212, 4, 25, "Print"], Cell[322564, 8747, 177, 3, 25, "Print"], Cell[322744, 8752, 155, 3, 25, "Print"], Cell[322902, 8757, 65, 1, 25, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[323004, 8763, 51, 1, 30, "Input"], Cell[323058, 8766, 710, 14, 167, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[323805, 8785, 52, 1, 30, "Input"], Cell[323860, 8788, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[324219, 8797, 65, 1, 30, "Input"], Cell[324287, 8800, 710, 14, 167, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[325034, 8819, 64, 1, 30, "Input"], Cell[325101, 8822, 1207, 24, 167, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[326345, 8851, 671, 14, 169, "Input"], Cell[327019, 8867, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[327378, 8876, 76, 1, 30, "Input"], Cell[327457, 8879, 1094, 22, 167, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[328588, 8906, 60, 1, 30, "Input"], Cell[328651, 8909, 49, 1, 25, "Print"], Cell[328703, 8912, 709, 14, 149, "Print"], Cell[329415, 8928, 175, 3, 25, "Print"], Cell[329593, 8933, 49, 1, 25, "Print"], Cell[329645, 8936, 709, 14, 149, "Print"], Cell[330357, 8952, 175, 3, 25, "Print"], Cell[330535, 8957, 208, 4, 25, "Print"], Cell[330746, 8963, 208, 4, 25, "Print"], Cell[330957, 8969, 177, 3, 25, "Print"], Cell[331137, 8974, 177, 3, 25, "Print"], Cell[331317, 8979, 212, 4, 25, "Print"], Cell[331532, 8985, 212, 4, 25, "Print"], Cell[331747, 8991, 177, 3, 25, "Print"], Cell[331927, 8996, 155, 3, 25, "Print"], Cell[332085, 9001, 153, 3, 25, "Print"], Cell[332241, 9006, 153, 3, 25, "Print"], Cell[332397, 9011, 208, 4, 25, "Print"], Cell[332608, 9017, 177, 3, 25, "Print"], Cell[332788, 9022, 212, 4, 25, "Print"], Cell[333003, 9028, 177, 3, 25, "Print"], Cell[333183, 9033, 177, 3, 25, "Print"], Cell[333363, 9038, 177, 3, 25, "Print"], Cell[333543, 9043, 155, 3, 25, "Print"], Cell[333701, 9048, 177, 3, 25, "Print"], Cell[333881, 9053, 212, 4, 25, "Print"], Cell[334096, 9059, 234, 4, 25, "Print"], Cell[334333, 9065, 294, 6, 25, "Print"], Cell[334630, 9073, 338, 6, 25, "Print"], Cell[334971, 9081, 316, 6, 25, "Print"], Cell[335290, 9089, 294, 6, 25, "Print"], Cell[335587, 9097, 263, 5, 25, "Print"], Cell[335853, 9104, 234, 4, 25, "Print"], Cell[336090, 9110, 234, 4, 25, "Print"], Cell[336327, 9116, 212, 4, 25, "Print"], Cell[336542, 9122, 177, 3, 25, "Print"], Cell[336722, 9127, 155, 3, 25, "Print"], Cell[336880, 9132, 42, 1, 25, "Print"], Cell[336925, 9135, 709, 14, 149, "Print"], Cell[337637, 9151, 181, 3, 25, "Print"], Cell[337821, 9156, 42, 1, 25, "Print"], Cell[337866, 9159, 709, 14, 149, "Print"], Cell[338578, 9175, 181, 3, 25, "Print"], Cell[338762, 9180, 42, 1, 25, "Print"], Cell[338807, 9183, 709, 14, 149, "Print"], Cell[339519, 9199, 181, 3, 25, "Print"], Cell[339703, 9204, 42, 1, 25, "Print"], Cell[339748, 9207, 709, 14, 149, "Print"], Cell[340460, 9223, 49, 1, 25, "Print"], Cell[340512, 9226, 709, 14, 149, "Print"], Cell[341224, 9242, 175, 3, 25, "Print"], Cell[341402, 9247, 322, 4, 67, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[341761, 9256, 93, 1, 30, "Input"], Cell[341857, 9259, 373, 7, 25, "Print"], Cell[342233, 9268, 470, 8, 44, "Print"], Cell[342706, 9278, 448, 8, 25, "Print"], Cell[343157, 9288, 448, 8, 25, "Print"], Cell[343608, 9298, 417, 7, 25, "Print"], Cell[344028, 9307, 448, 8, 25, "Print"], Cell[344479, 9317, 417, 7, 25, "Print"], Cell[344899, 9326, 395, 7, 25, "Print"], Cell[345297, 9335, 395, 7, 25, "Print"], Cell[345695, 9344, 373, 7, 25, "Print"], Cell[346071, 9353, 338, 6, 25, "Print"], Cell[346412, 9361, 316, 6, 25, "Print"], Cell[346731, 9369, 373, 7, 25, "Print"], Cell[347107, 9378, 417, 7, 25, "Print"], Cell[347527, 9387, 395, 7, 25, "Print"], Cell[347925, 9396, 373, 7, 25, "Print"], Cell[348301, 9405, 338, 6, 25, "Print"], Cell[348642, 9413, 338, 6, 25, "Print"], Cell[348983, 9421, 373, 7, 25, "Print"], Cell[349359, 9430, 338, 6, 25, "Print"], Cell[349700, 9438, 373, 7, 25, "Print"], Cell[350076, 9447, 338, 6, 25, "Print"], Cell[350417, 9455, 316, 6, 25, "Print"], Cell[350736, 9463, 294, 6, 25, "Print"], Cell[351033, 9471, 263, 5, 25, "Print"], Cell[351299, 9478, 234, 4, 25, "Print"], Cell[351536, 9484, 212, 4, 25, "Print"], Cell[351751, 9490, 177, 3, 25, "Print"], Cell[351931, 9495, 155, 3, 25, "Print"], Cell[352089, 9500, 219, 4, 25, "Print"], Cell[352311, 9506, 177, 3, 25, "Print"], Cell[352491, 9511, 177, 3, 25, "Print"], Cell[352671, 9516, 155, 3, 25, "Print"], Cell[352829, 9521, 42, 1, 25, "Print"], Cell[352874, 9524, 709, 14, 149, "Print"], Cell[353586, 9540, 204, 4, 25, "Print"], Cell[353793, 9546, 221, 4, 25, "Print"], Cell[354017, 9552, 177, 3, 25, "Print"], Cell[354197, 9557, 177, 3, 25, "Print"], Cell[354377, 9562, 177, 3, 25, "Print"], Cell[354557, 9567, 155, 3, 25, "Print"], Cell[354715, 9572, 42, 1, 25, "Print"], Cell[354760, 9575, 709, 14, 149, "Print"], Cell[355472, 9591, 322, 4, 67, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)