(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 203278, 5139] NotebookOptionsPosition[ 200990, 5067] NotebookOutlinePosition[ 201329, 5082] CellTagsIndexPosition[ 201286, 5079] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"3", ",", "4", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "9", ",", "16"}], "}"}]}], "}"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "So"}], ",", RowBox[{ RowBox[{"i", "'"}], "ll", " ", "try", " ", "to", " ", "explain", " ", "things", " ", RowBox[{"better", ".", " ", "I"}], " ", "have", " ", "broken", " ", "up", " ", "the", " ", "code"}], ",", " ", RowBox[{"step", "-", "by", "-", RowBox[{ RowBox[{ "step", ".", " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "Whenever"}], " ", "we", " ", "look", " ", "for", " ", "tiles", " ", "we", " ", "ALWAYS", " ", "assume", " ", "that", " ", "0", " ", "is", " ", "an", " ", "element", " ", "of", " ", RowBox[{ "it", ".", " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "You"}], " ", "must", " ", "also", " ", "take", " ", "into", " ", "consideration", " ", "that", " ", "i", " ", "am", " ", "a", " ", "good", " ", RowBox[{"programer", ".", " ", "It"}], " ", "is", " ", "very", " ", "much", " ", "possible", " ", "that", " ", "my", " ", "ideas", " ", "can", " ", "be", " ", "implemented", " ", "in", " ", "a", " ", "much", " ", "better", " ", RowBox[{"way", ".", " ", "Not"}], " ", "to", " ", "mention", " ", "the", " ", "fact", " ", "that", " ", "one", " ", "could", " ", "use", " ", "languages", " ", "like", " ", RowBox[{"c", "++"}], " ", "which", " ", "would", " ", "really", " ", "decrease", " ", "the", " ", "running", " ", RowBox[{"time", ".", " ", "But"}], " ", "i", " ", "cannot", " ", "do", " ", RowBox[{ "that", ".", "\[IndentingNewLine]", "\[IndentingNewLine]", "As"}], " ", "a", " ", "start"}]}], ",", " ", RowBox[{ RowBox[{ "we", " ", "only", " ", "care", " ", "about", " ", "prime", " ", "power", " ", "divisors", " ", "for", " ", "the", " ", RowBox[{"moment", ".", " ", "This"}], " ", "file", " ", "contains", " ", "calculations", " ", "for", " ", "the", " ", "partition", " ", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"3", ",", "4", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "9", ",", "16"}], "}"}]}], "}"}], ".", " ", "It"}], " ", "means", " ", "that", " ", "we", " ", "are", " ", "going", " ", "to", " ", "find", " ", "all", " ", "non"}], "-", RowBox[{"periodic", " ", "tilings"}]}], ",", " ", RowBox[{ "such", " ", "that", " ", "one", " ", "of", " ", "the", " ", "tiles", " ", "is", " ", "divisible", " ", "by", " ", "Phi_", "3"}], ",", " ", RowBox[{"Phi_", "4"}], ",", " ", RowBox[{"Phi_", "8"}], ",", " ", RowBox[{"while", " ", "the", " ", "other", " ", "by", " ", "Phi_", "2"}], ",", " ", RowBox[{"Phi_", "9"}], ",", " ", RowBox[{ RowBox[{ "Phi_", "16.", " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "In", " ", "this", " ", "first", " ", "step", " ", "we", " ", "find", " ", "the", " ", "\"\\"", " ", "tiling", " ", "complement", " ", RowBox[{"B", ".", " ", "The"}], " ", "theory", " ", "for", " ", "this", " ", "is", " ", "provided", " ", "in", " ", "C"}], "-", RowBox[{"M", "."}]}]}], " ", "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Clear", "[", "x", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Cyclotomic", "[", RowBox[{"3", ",", RowBox[{"x", "^", RowBox[{"(", "16", ")"}]}]}], "]"}], RowBox[{"Cyclotomic", "[", RowBox[{"4", ",", RowBox[{"x", "^", "9"}]}], "]"}], RowBox[{"Cyclotomic", "[", RowBox[{"8", ",", RowBox[{"x", "^", "9"}]}], "]"}]}], "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.432630175328125*^9, 3.432630211234375*^9}, { 3.432630253890625*^9, 3.432630488125*^9}, {3.432631059546875*^9, 3.43263120175*^9}, 3.43361518578125*^9}], Cell[BoxData[ RowBox[{"1", "+", SuperscriptBox["x", "16"], "+", SuperscriptBox["x", "18"], "+", SuperscriptBox["x", "32"], "+", SuperscriptBox["x", "34"], "+", SuperscriptBox["x", "36"], "+", SuperscriptBox["x", "50"], "+", SuperscriptBox["x", "52"], "+", SuperscriptBox["x", "54"], "+", SuperscriptBox["x", "68"], "+", SuperscriptBox["x", "70"], "+", SuperscriptBox["x", "86"]}]], "Output", CellChangeTimes->{3.43263050559375*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{"The", " ", "output", " ", "is", " ", "1"}], "+", SuperscriptBox["x", "16"], "+", SuperscriptBox["x", "18"], "+", SuperscriptBox["x", "32"], "+", SuperscriptBox["x", "34"], "+", SuperscriptBox["x", "36"], "+", SuperscriptBox["x", "50"], "+", SuperscriptBox["x", "52"], "+", SuperscriptBox["x", "54"], "+", SuperscriptBox["x", "68"], "+", SuperscriptBox["x", "70"], "+", SuperscriptBox["x", "86"]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"therefore", " ", "B"}], "=", RowBox[{"{", RowBox[{ "0", ",", "16", ",", "18", ",", "32", ",", "34", ",", "36", ",", "50", ",", "52", ",", "54", ",", "68", ",", "70", ",", "86"}], "}"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ "This", " ", "B", " ", "is", " ", "a", " ", "tiling", " ", "complement", " ", "for", " ", "ALL", " ", "TILES", " ", "which", " ", "are", " ", "divisible", " ", "by", " ", "Phi_", "2"}]}], ",", " ", RowBox[{"Phi_", "9"}], ",", " ", RowBox[{"Phi_", "16.", "\[IndentingNewLine]", "So"}], ",", " ", RowBox[{ "in", " ", "order", " ", "to", " ", "find", " ", "them", " ", "all"}], ",", " ", RowBox[{ "we", " ", "need", " ", "to", " ", "find", " ", "all", " ", "the", " ", "tiling", " ", "complements", " ", "of", " ", RowBox[{"B", ".", " ", "This"}], " ", "is", " ", "done", " ", "in", " ", "the", " ", "next", " ", "step"}], ",", " ", RowBox[{"in", " ", "the", " ", "\"\\""}]}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{ 3.43263050815625*^9, {3.432630546640625*^9, 3.43263069875*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ "This", " ", "section", " ", "alone", " ", "is", " ", "the", " ", "\"\\"", "n", "\"\< and a set \n\>\"", "B", "\"\< at the beginning and then run it. It gives you ALL the tiling \ complements of B in the group Z_n. Try to play with it in different groups. \ Z_108, Z_120, etc. It runs remarkably fast, as long as the number of tiling \ complements is not more than a few thousand. It takes longer if it is \ something like 100000, and takes 2-3 days if it is 1000000. Please use it at \ your wish. For example it is funny to give n=1000 and a random set B of \ length 20, and see how quickly it decides whether there are any tilining \ complements of B. Of course, almost surely B will have no tiling complements, \ and this procedure will run within 1-2 minutes. \n\nIn this particular case \ it runs for a few minutes and outputs 3888 tiling complements. They are \ stored in the set \n\>\"", "Tile", "\"\<. But it only writes out hte length of Tile, to avoid long-long \ lists of sets. \>"}], "*)"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Dynamic", "[", RowBox[{"{", RowBox[{"i", ",", "g", ",", " ", "mark"}], "}"}], "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Clear", "[", RowBox[{ "n", ",", "B", ",", "R", ",", "Tile", ",", "A", ",", "U", ",", "mark", ",", "T", ",", "g"}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"n", "=", "144"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B", "=", RowBox[{"{", RowBox[{ "0", ",", "16", ",", "18", ",", "32", ",", "34", ",", "36", ",", "50", ",", "52", ",", "54", ",", "68", ",", "70", ",", "86"}], "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "1000000"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"R", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "n"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"A", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}], ",", "n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"U", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", "1", "]"}], "]"}], "=", "B"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"mark", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"1", "&"}], ",", RowBox[{ RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}], "+", "1"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"T", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{ RowBox[{"{", "0", "}"}], "&"}], ",", RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"g", "=", "1"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", " ", RowBox[{"i", ">", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "\[Equal]", "n"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"Tile", "[", RowBox[{"[", "g", "]"}], "]"}], "=", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], ";", RowBox[{"g", "=", RowBox[{"g", "+", "1"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", "n"}], ",", RowBox[{ RowBox[{"k", "=", "100"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"Not", "[", RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"Mod", "[", RowBox[{"j", ",", "n"}], "]"}]}], "]"}], "]"}], ",", " ", RowBox[{ RowBox[{"k", "=", "0"}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"m", "=", "1"}], ",", " ", RowBox[{"m", "\[LessEqual]", RowBox[{"Length", "[", "B", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Intersection]", " ", RowBox[{"Mod", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"j", "-", RowBox[{"B", "[", RowBox[{"[", "m", "]"}], "]"}]}], ")"}], "+", "B"}], ",", "n"}], "]"}]}], "\[Equal]", RowBox[{"{", "}"}]}], ",", " ", RowBox[{ RowBox[{"k", "=", RowBox[{"k", "+", "1"}]}], ";", " ", RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "j", ",", "m"}], "]"}], "]"}], "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"j", "-", RowBox[{"B", "[", RowBox[{"[", "m", "]"}], "]"}]}], ",", "n"}], "]"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"m", "++"}]}]}], "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"R", "[", RowBox[{"[", "j", "]"}], "]"}], "=", "k"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"min", "=", RowBox[{"Min", "[", "R", "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"(", RowBox[{"Not", "[", RowBox[{"min", "\[Equal]", "0"}], "]"}], ")"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"t", "=", RowBox[{"Catch", "[", RowBox[{"Do", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"R", "[", RowBox[{"[", "ii", "]"}], "]"}], "\[Equal]", "min"}], ",", " ", RowBox[{"Throw", "[", "ii", "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"ii", ",", "n"}], "}"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "\[LessEqual]", RowBox[{"Length", "[", "B", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"b", "=", RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", " ", RowBox[{"b", "<=", RowBox[{"Length", "[", "B", "]"}]}], ",", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"b", "+", "1"}]}], ";", RowBox[{"z", "=", "0"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"Not", "[", RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "\[Equal]", "200"}], "]"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"Mod", "[", RowBox[{ RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "+", "B"}], ",", "n"}], "]"}]}]}], ";", " ", RowBox[{ RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"{", RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "}"}]}]}], ";", " ", RowBox[{"b", "=", RowBox[{ RowBox[{"Length", "[", "B", "]"}], "+", "1"}]}], ";", RowBox[{"z", "=", "1"}], ";", RowBox[{"i", "=", RowBox[{"i", "+", "1"}]}], ";"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"b", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"z", "==", "0"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}], "\[IndentingNewLine]", ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}], "\[IndentingNewLine]", ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Tile", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Tile", "]"}], "\[IndentingNewLine]", RowBox[{"Tile", ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.4326307018125*^9, 3.4326307029375*^9}, { 3.432630734171875*^9, 3.43263075696875*^9}, {3.4326309700625*^9, 3.432631047890625*^9}, {3.43263122390625*^9, 3.432631582515625*^9}}], Cell[BoxData[ DynamicBox[ ToBoxes[{$CellContext`i, $CellContext`g, $CellContext`mark}, StandardForm], ImageSizeCache->{310.625, {2., 8.}}]], "Output", CellChangeTimes->{3.4326307453125*^9}], Cell[BoxData["3888"], "Output", CellChangeTimes->{3.43263107059375*^9}] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "The", " ", "output", " ", "is", " ", "3888.", " ", "This", " ", "is", " ", "how", " ", "many", " ", "tiling", " ", "complements", " ", "B", " ", "has", " ", "in", " ", "Z_", "144."}], " ", "\[IndentingNewLine]", "*)"}]], "Input", CellChangeTimes->{{3.43263158959375*^9, 3.43263163553125*^9}, { 3.432631678359375*^9, 3.43263167846875*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "In", " ", "this", " ", "step", " ", "we", " ", "are", " ", "going", " ", "to", " ", "throw", " ", "away", " ", "the", " ", "periodic", " ", "sets", " ", "from", " ", RowBox[{"Tile", ".", " ", "And"}], " ", "also"}], ",", " ", RowBox[{ "we", " ", "want", " ", "to", " ", "keep", " ", "only", " ", "one", " ", "copy", " ", "of", " ", "equivalent", " ", "tiles", " ", RowBox[{ RowBox[{"(", RowBox[{ "a", " ", "tile", " ", "is", " ", "equivalent", " ", "to", " ", "its", " ", "own", " ", "translated", " ", "coppies"}], ")"}], ".", " ", "We"}], " ", "only", " ", "want", " ", "to", " ", "keep", " ", "the", " ", "ones", " ", "in", " ", "normal", " ", RowBox[{"form", ".", " ", "The"}], " ", "normal", " ", "form", " ", "i", " ", "chose", " ", "here", " ", "is", " ", "that", " ", "the", " ", "longest", " ", "interval", " ", "is", " ", "thrown", " ", "in", " ", "at", " ", "the", " ", RowBox[{"beginning", "."}]}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "Tile", "]"}]}], ",", " ", RowBox[{ RowBox[{"P", "=", RowBox[{"Tile", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "2"}], ",", " ", RowBox[{"i", "<=", RowBox[{"Length", "[", "P", "]"}]}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{"Tile", ",", RowBox[{ RowBox[{"Mod", "[", RowBox[{ RowBox[{"P", "-", RowBox[{"P", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", "n"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], "]"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"Tile", "[", RowBox[{"[", "j", "]"}], "]"}], "=", "0"}], ";", RowBox[{"i", "=", RowBox[{ RowBox[{"Length", "[", "P", "]"}], "+", "1"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"i", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Tile", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Tile", "]"}], "\[IndentingNewLine]", "Tile", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.432631680546875*^9, 3.4326318814375*^9}}], Cell[BoxData["60"], "Output", CellChangeTimes->{3.432631889046875*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "39", ",", "40", ",", "48", ",", "69", ",", "88", ",", "96", ",", "99", ",", "111", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "30", ",", "37", ",", "60", ",", "72", ",", "77", ",", "85", ",", "102", ",", "125", ",", "132", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "37", ",", "42", ",", "48", ",", "72", ",", "77", ",", "85", ",", "114", ",", "120", ",", "125", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "41", ",", "48", ",", "71", ",", "88", ",", "96", ",", "101", ",", "113", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "101", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "31", ",", "39", ",", "60", ",", "72", ",", "79", ",", "87", ",", "102", ",", "127", ",", "132", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "33", ",", "41", ",", "60", ",", "72", ",", "81", ",", "89", ",", "102", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "42", ",", "43", ",", "72", ",", "83", ",", "91", ",", "102", ",", "114", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "43", ",", "60", ",", "72", ",", "83", ",", "91", ",", "102", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "42", ",", "45", ",", "72", ",", "85", ",", "93", ",", "102", ",", "114", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "45", ",", "60", ",", "72", ",", "85", ",", "93", ",", "102", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "42", ",", "47", ",", "72", ",", "87", ",", "95", ",", "102", ",", "114", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "47", ",", "60", ",", "72", ",", "87", ",", "95", ",", "102", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "37", ",", "40", ",", "48", ",", "61", ",", "88", ",", "96", ",", "103", ",", "109", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "48", ",", "72", ",", "79", ",", "87", ",", "114", ",", "120", ",", "127", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "66", ",", "72", ",", "79", ",", "87", ",", "114", ",", "127", ",", "135", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "40", ",", "48", ",", "55", ",", "61", ",", "88", ",", "96", ",", "103", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "39", ",", "40", ",", "48", ",", "63", ",", "88", ",", "96", ",", "105", ",", "111", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "48", ",", "57", ",", "63", ",", "88", ",", "96", ",", "105", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "48", ",", "72", ",", "81", ",", "89", ",", "114", ",", "120", ",", "129", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "66", ",", "72", ",", "81", ",", "89", ",", "114", ",", "129", ",", "137", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "48", ",", "60", ",", "72", ",", "81", ",", "89", ",", "120", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "41", ",", "48", ",", "65", ",", "88", ",", "96", ",", "107", ",", "113", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "47", ",", "48", ",", "59", ",", "88", ",", "96", ",", "107", ",", "119", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "48", ",", "59", ",", "65", ",", "88", ",", "96", ",", "107", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "48", ",", "72", ",", "83", ",", "91", ",", "114", ",", "120", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "66", ",", "72", ",", "83", ",", "91", ",", "114", ",", "131", ",", "138", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "43", ",", "48", ",", "60", ",", "72", ",", "83", ",", "91", ",", "120", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "43", ",", "48", ",", "67", ",", "88", ",", "96", ",", "109", ",", "115", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "49", ",", "61", ",", "88", ",", "96", ",", "109", ",", "121", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "61", ",", "67", ",", "88", ",", "96", ",", "109", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "48", ",", "72", ",", "85", ",", "93", ",", "114", ",", "120", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "66", ",", "72", ",", "85", ",", "93", ",", "114", ",", "133", ",", "138", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "45", ",", "48", ",", "60", ",", "72", ",", "85", ",", "93", ",", "120", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "51", ",", "88", ",", "96", ",", "111", ",", "117", ",", "123", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "69", ",", "88", ",", "96", ",", "111", ",", "117", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "51", ",", "63", ",", "88", ",", "96", ",", "111", ",", "123", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "63", ",", "69", ",", "88", ",", "96", ",", "111", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "48", ",", "72", ",", "87", ",", "95", ",", "114", ",", "120", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "66", ",", "72", ",", "87", ",", "95", ",", "114", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "48", ",", "60", ",", "72", ",", "87", ",", "95", ",", "120", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "60", ",", "66", ",", "72", ",", "87", ",", "95", ",", "132", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "53", ",", "88", ",", "96", ",", "113", ",", "119", ",", "125", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "71", ",", "88", ",", "96", ",", "113", ",", "119", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "53", ",", "65", ",", "88", ",", "96", ",", "113", ",", "125", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "65", ",", "71", ",", "88", ",", "96", ",", "113", ",", "136", ",", "137", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "49", ",", "55", ",", "88", ",", "96", ",", "115", ",", "121", ",", "127", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "55", ",", "67", ",", "88", ",", "96", ",", "115", ",", "127", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "51", ",", "57", ",", "88", ",", "96", ",", "117", ",", "123", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "57", ",", "69", ",", "88", ",", "96", ",", "117", ",", "129", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "119", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "59", ",", "71", ",", "88", ",", "96", ",", "119", ",", "131", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "49", ",", "55", ",", "61", ",", "88", ",", "96", ",", "121", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "51", ",", "57", ",", "63", ",", "88", ",", "96", ",", "123", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "53", ",", "59", ",", "65", ",", "88", ",", "96", ",", "125", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "55", ",", "61", ",", "67", ",", "88", ",", "96", ",", "127", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "57", ",", "63", ",", "69", ",", "88", ",", "96", ",", "129", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "59", ",", "65", ",", "71", ",", "88", ",", "96", ",", "131", ",", "136", ",", "137", ",", "143"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.432631889046875*^9}] }, Open ]], Cell[BoxData[ RowBox[{"\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ "The", " ", "output", " ", "is", " ", "a", " ", "list", " ", "of", " ", "60", " ", RowBox[{"tiles", ".", " ", "They"}], " ", "are", " ", "the", " ", "candidates", " ", "we", " ", "have", " ", "been", " ", "looking", " ", RowBox[{"for", ".", " ", "They"}], " ", "are", " ", "non"}], "-", "periodic"}], ",", " ", RowBox[{"they", " ", "are", " ", "normal", " ", "form"}], ",", " ", RowBox[{ "and", " ", "they", " ", "are", " ", "all", " ", "divisible", " ", "by", " ", "Phi_", "2"}], ",", " ", RowBox[{"Phi_", "9"}], ",", " ", RowBox[{"Phi_", "16."}]}], " ", "*)"}]}]], "Input", CellChangeTimes->{{3.432631902390625*^9, 3.432632006859375*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ "This", " ", "step", " ", "is", " ", "a", " ", "seemingly", " ", "long", " ", "code"}], ",", " ", RowBox[{ RowBox[{"but", " ", RowBox[{"it", "'"}], "s", " ", "task", " ", "is", " ", RowBox[{"simple", ".", " ", "You"}], " ", "must", " ", "give", " ", "a", " ", "value", " ", "\"\\"", " ", "and", " ", "a", " ", "list", " ", "of", " ", "sets", " ", "\"\\"", " ", "at", " ", "the", " ", "beginning", " ", "as", " ", RowBox[{"input", ".", " ", "What"}], " ", "it", " ", RowBox[{"does", ":", " ", RowBox[{ "it", " ", "puts", " ", "the", " ", "sets", " ", "in", " ", "T2", " ", "into", " ", "equvalence", " ", "classes", " ", "according", " ", "to", " ", "which", " ", "cyclotomic", " ", "polynomials", " ", "divide", " ", RowBox[{"them", ".", " ", "In"}], " ", "this", " ", "case", " ", "n"}]}]}], "=", RowBox[{ RowBox[{"144", " ", "and", " ", "T2"}], "=", RowBox[{"Tile", " ", "from", " ", "the", " ", "previous", " ", RowBox[{"step", ".", " ", "And"}]}]}]}], ",", " ", RowBox[{"we", " ", "know", " ", "that", " ", "Phi_", "2"}], ",", " ", RowBox[{"Phi_", "9"}], ",", " ", RowBox[{ "Phi_", "16", " ", "always", " ", "divide", " ", "each", " ", "set", " ", "in", " ", RowBox[{"T2", ".", " ", "Also"}]}], ",", " ", RowBox[{ RowBox[{ "by", " ", "the", " ", "other", " ", "condition", " ", "on", " ", "C"}], "-", RowBox[{"M", " ", "we", " ", "know", " ", "that", " ", "Phi_", "18"}]}], ",", " ", RowBox[{ "Phi_", "144", " ", "also", " ", "divide", " ", "each", " ", "set", " ", "in", " ", RowBox[{"T2", ".", " ", "\[IndentingNewLine]", "The"}], " ", "output", " ", "is", " ", "explained", " ", RowBox[{"below", "."}]}]}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"n", "=", "144"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"T2", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "39", ",", "40", ",", "48", ",", "69", ",", "88", ",", "96", ",", "99", ",", "111", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "30", ",", "37", ",", "60", ",", "72", ",", "77", ",", "85", ",", "102", ",", "125", ",", "132", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "37", ",", "42", ",", "48", ",", "72", ",", "77", ",", "85", ",", "114", ",", "120", ",", "125", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "41", ",", "48", ",", "71", ",", "88", ",", "96", ",", "101", ",", "113", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "101", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "31", ",", "39", ",", "60", ",", "72", ",", "79", ",", "87", ",", "102", ",", "127", ",", "132", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "33", ",", "41", ",", "60", ",", "72", ",", "81", ",", "89", ",", "102", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "42", ",", "43", ",", "72", ",", "83", ",", "91", ",", "102", ",", "114", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "43", ",", "60", ",", "72", ",", "83", ",", "91", ",", "102", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "42", ",", "45", ",", "72", ",", "85", ",", "93", ",", "102", ",", "114", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "45", ",", "60", ",", "72", ",", "85", ",", "93", ",", "102", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "42", ",", "47", ",", "72", ",", "87", ",", "95", ",", "102", ",", "114", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "47", ",", "60", ",", "72", ",", "87", ",", "95", ",", "102", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "37", ",", "40", ",", "48", ",", "61", ",", "88", ",", "96", ",", "103", ",", "109", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "48", ",", "72", ",", "79", ",", "87", ",", "114", ",", "120", ",", "127", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "66", ",", "72", ",", "79", ",", "87", ",", "114", ",", "127", ",", "135", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "40", ",", "48", ",", "55", ",", "61", ",", "88", ",", "96", ",", "103", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "39", ",", "40", ",", "48", ",", "63", ",", "88", ",", "96", ",", "105", ",", "111", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "48", ",", "57", ",", "63", ",", "88", ",", "96", ",", "105", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "48", ",", "72", ",", "81", ",", "89", ",", "114", ",", "120", ",", "129", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "66", ",", "72", ",", "81", ",", "89", ",", "114", ",", "129", ",", "137", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "48", ",", "60", ",", "72", ",", "81", ",", "89", ",", "120", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "41", ",", "48", ",", "65", ",", "88", ",", "96", ",", "107", ",", "113", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "47", ",", "48", ",", "59", ",", "88", ",", "96", ",", "107", ",", "119", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "48", ",", "59", ",", "65", ",", "88", ",", "96", ",", "107", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "48", ",", "72", ",", "83", ",", "91", ",", "114", ",", "120", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "66", ",", "72", ",", "83", ",", "91", ",", "114", ",", "131", ",", "138", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "43", ",", "48", ",", "60", ",", "72", ",", "83", ",", "91", ",", "120", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "43", ",", "48", ",", "67", ",", "88", ",", "96", ",", "109", ",", "115", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "49", ",", "61", ",", "88", ",", "96", ",", "109", ",", "121", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "61", ",", "67", ",", "88", ",", "96", ",", "109", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "48", ",", "72", ",", "85", ",", "93", ",", "114", ",", "120", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "66", ",", "72", ",", "85", ",", "93", ",", "114", ",", "133", ",", "138", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "45", ",", "48", ",", "60", ",", "72", ",", "85", ",", "93", ",", "120", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "51", ",", "88", ",", "96", ",", "111", ",", "117", ",", "123", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "69", ",", "88", ",", "96", ",", "111", ",", "117", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "51", ",", "63", ",", "88", ",", "96", ",", "111", ",", "123", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "63", ",", "69", ",", "88", ",", "96", ",", "111", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "48", ",", "72", ",", "87", ",", "95", ",", "114", ",", "120", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "66", ",", "72", ",", "87", ",", "95", ",", "114", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "48", ",", "60", ",", "72", ",", "87", ",", "95", ",", "120", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "60", ",", "66", ",", "72", ",", "87", ",", "95", ",", "132", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "53", ",", "88", ",", "96", ",", "113", ",", "119", ",", "125", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "71", ",", "88", ",", "96", ",", "113", ",", "119", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "53", ",", "65", ",", "88", ",", "96", ",", "113", ",", "125", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "65", ",", "71", ",", "88", ",", "96", ",", "113", ",", "136", ",", "137", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "49", ",", "55", ",", "88", ",", "96", ",", "115", ",", "121", ",", "127", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "55", ",", "67", ",", "88", ",", "96", ",", "115", ",", "127", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "51", ",", "57", ",", "88", ",", "96", ",", "117", ",", "123", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "57", ",", "69", ",", "88", ",", "96", ",", "117", ",", "129", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "119", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "59", ",", "71", ",", "88", ",", "96", ",", "119", ",", "131", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "49", ",", "55", ",", "61", ",", "88", ",", "96", ",", "121", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "51", ",", "57", ",", "63", ",", "88", ",", "96", ",", "123", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "53", ",", "59", ",", "65", ",", "88", ",", "96", ",", "125", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "55", ",", "61", ",", "67", ",", "88", ",", "96", ",", "127", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "57", ",", "63", ",", "69", ",", "88", ",", "96", ",", "129", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "59", ",", "65", ",", "71", ",", "88", ",", "96", ",", "131", ",", "136", ",", "137", ",", "143"}], "}"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", " ", "\[IndentingNewLine]", RowBox[{"Dynamic", "[", RowBox[{"{", RowBox[{"j", ",", "v", ",", "vvv", ",", "vvvv"}], "}"}], "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Clear", "[", "H", "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Length", "[", "T2", "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"H", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Length", "[", "T2", "]"}], ",", "n"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MF", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "100"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MT", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "100"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "T2", "]"}]}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "n"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"T2", "[", RowBox[{"[", "j", "]"}], "]"}], ",", RowBox[{"Mod", "[", RowBox[{"k", ",", "n"}], "]"}]}], "]"}], ",", RowBox[{ RowBox[{"H", "[", RowBox[{"[", RowBox[{"j", ",", "k"}], "]"}], "]"}], "=", "1"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"k", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"MF", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{"H", "[", RowBox[{"[", "1", "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"MT", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{"T2", "[", RowBox[{"[", "1", "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"cont", "=", "1"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"v", "=", "1"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "2"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "T2", "]"}]}], ",", " ", RowBox[{ RowBox[{"cont", "=", "1"}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"c", "=", "1"}], ",", RowBox[{"c", "\[LessEqual]", "v"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "n"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"Not", "[", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"MF", "[", RowBox[{"[", "c", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "==", RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"H", "[", RowBox[{"[", "j", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}]}], "]"}], ")"}], "\[And]", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"MF", "[", RowBox[{"[", "c", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "\[Equal]", "0"}], "\[Or]", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"H", "[", RowBox[{"[", "j", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "\[Equal]", "0"}]}], ")"}]}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"k", "=", RowBox[{"n", "+", "1"}]}], ";", RowBox[{"cont", "=", RowBox[{"cont", "+", "1"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"k", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"cont", "\[LessEqual]", "c"}], ",", " ", RowBox[{"c", "=", RowBox[{"v", "+", "1"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"c", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"cont", "\[Equal]", RowBox[{"v", "+", "1"}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"MF", "[", RowBox[{"[", RowBox[{"v", "+", "1"}], "]"}], "]"}], "=", RowBox[{"H", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", RowBox[{ RowBox[{"MT", "[", RowBox[{"[", RowBox[{"v", "+", "1"}], "]"}], "]"}], "=", RowBox[{"T2", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", " ", RowBox[{"v", "=", RowBox[{"v", "+", "1"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"MT", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"MT", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MF", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"MF", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "MF", "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "MT", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"3", ",", "8", ",", "16"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "4", ",", "9"}], "}"}]}], "}"}], ";"}], "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"Next", ",", " ", RowBox[{ RowBox[{"we", " ", "see", " ", "what", " ", "those", " ", "Fourier"}], "-", RowBox[{"zero", " ", "sets", " ", RowBox[{"are", "."}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"J", "=", "MF"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"F1", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"1", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Length", "[", "J", "]"}], ",", "n"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "<=", RowBox[{"Length", "[", "J", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", "n"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"J", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "j", "]"}], "]"}], "\[Equal]", "0"}], ",", " ", RowBox[{ RowBox[{"F1", "[", RowBox[{"[", RowBox[{"i", ",", "j"}], "]"}], "]"}], "=", "0"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"i", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"F1", ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"FF1", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Length", "[", "F1", "]"}], ",", "n"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", RowBox[{"Length", "[", "F1", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", "n"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"F1", "[", RowBox[{"[", RowBox[{"i", ",", "j"}], "]"}], "]"}], "\[Equal]", "0"}], ",", " ", RowBox[{ RowBox[{"FF1", "[", RowBox[{"[", RowBox[{"i", ",", "j"}], "]"}], "]"}], "=", "j"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"i", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "FF1", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FF1", "[", RowBox[{"[", "j", "]"}], "]"}], "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{ RowBox[{"FF1", "[", RowBox[{"[", "j", "]"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{"FF1", ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"FF", "=", RowBox[{"FF1", "-", "1"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"m", "=", "1"}], ",", RowBox[{"m", "\[LessEqual]", RowBox[{"Length", "[", "FF1", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", RowBox[{"FF1", "[", RowBox[{"[", "m", "]"}], "]"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FF", "[", RowBox[{"[", RowBox[{"m", ",", "j"}], "]"}], "]"}], "=", RowBox[{"GCD", "[", RowBox[{ RowBox[{"FF", "[", RowBox[{"[", RowBox[{"m", ",", "j"}], "]"}], "]"}], ",", "n"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"m", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{"FF", ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "FF", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FF", "[", RowBox[{"[", "j", "]"}], "]"}], "=", RowBox[{ RowBox[{"FF", "[", RowBox[{"[", "j", "]"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{"FF", ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"FT", "=", RowBox[{"n", "/", "FF"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CFT", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"Length", "[", "FT", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "FT", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"CFT", "[", RowBox[{"[", "j", "]"}], "]"}], "=", RowBox[{"Complement", "[", RowBox[{ RowBox[{"Divisors", "[", "n", "]"}], ",", RowBox[{"FT", "[", RowBox[{"[", "j", "]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", "CFT", "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{ 3.432632015046875*^9, {3.432632082796875*^9, 3.432632142078125*^9}, { 3.432632179453125*^9, 3.432632563390625*^9}, {3.432632595015625*^9, 3.432632619109375*^9}}], Cell[BoxData[ DynamicBox[ ToBoxes[{$CellContext`j, $CellContext`v, $CellContext`vvv, \ $CellContext`vvvv}, StandardForm], ImageSizeCache->{110.5625, {2., 8.}}]], "Output", CellChangeTimes->{{3.432632541140625*^9, 3.432632566296875*^9}}], Cell[BoxData["60"], "Output", CellChangeTimes->{{3.432632541140625*^9, 3.4326325663125*^9}}], Cell[BoxData["2"], "Output", CellChangeTimes->{{3.432632541140625*^9, 3.432632569625*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{{3.432632541140625*^9, 3.432632569640625*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"144", ",", "36", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"144", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{{3.432632541140625*^9, 3.432632569671875*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "8", ",", "12", ",", "24", ",", "48", ",", "72"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "8", ",", "12", ",", "24", ",", "36", ",", "48", ",", "72"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{{3.432632541140625*^9, 3.4326325696875*^9}}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"The", " ", "output", " ", "is", " ", "the", " ", RowBox[{"following", ":", "\[IndentingNewLine]", "60"}]}], ";", " ", RowBox[{"the", " ", "length", " ", "of", " ", RowBox[{ "T2", ".", "\[IndentingNewLine]", "\[IndentingNewLine]", "2"}]}], ";", " ", RowBox[{ "the", " ", "number", " ", "of", " ", "equivalence", " ", "clasess", " ", "found"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}]}], "}"}], ";", " ", RowBox[{ "these", " ", "are", " ", "one", " ", "representative", " ", "from", " ", "each", " ", "class"}], ";", " ", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"144", ",", "36", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"144", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}]}], "}"}], ";", " ", RowBox[{ "these", " ", "are", " ", "the", " ", "cyclotomic", " ", "divisors", " ", "of", " ", "the", " ", "classes"}]}], ",", " ", RowBox[{"but", " ", RowBox[{"beware", ":", " ", RowBox[{ "the", " ", "programming", " ", "is", " ", "stupid", " ", "here"}]}]}], ",", " ", RowBox[{ RowBox[{ "so", " ", "that", " ", "you", " ", "cannot", " ", "be", " ", "sure", " ", "that", " ", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], " ", "is", " ", "divisible", " ", "by", " ", "Phi_", RowBox[{ RowBox[{"{", RowBox[{"144", ",", "36", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}], ".", " ", "The"}], " ", "order", " ", "maybe", " ", "interchanged", " ", "so", " ", "that", " ", "possibly", " ", "it", " ", "is", " ", "divisible", " ", "by", " ", "Phi_", RowBox[{ RowBox[{"{", RowBox[{"144", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}], ".", " ", "It"}], " ", "is", " ", "also", " ", "the", " ", "same", " ", "in", " ", "other", " ", RowBox[{"files", "!"}], "I", " ", RowBox[{"don", "'"}], "t", " ", "really", " ", "care", " ", "about", " ", "this", " ", "for", " ", "the", " ", RowBox[{"moment", ".", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "8", ",", "12", ",", "24", ",", "48", ",", "72"}], "}"}], ",", RowBox[{"{", RowBox[{ "1", ",", "3", ",", "4", ",", "6", ",", "8", ",", "12", ",", "24", ",", "36", ",", "48", ",", "72"}], "}"}]}], "}"}]}]}], ";", " ", RowBox[{ "the", " ", "remaining", " ", "divisors", " ", "of", " ", "n", " ", "for", " ", "each", " ", RowBox[{"class", ".", " ", "It"}], " ", "could", " ", "happen", " ", "that", " ", "from", " ", "the", " ", "remaining", " ", "divisors", " ", "of", " ", "n", " ", "we", " ", "conclude", " ", "that", " ", "some", " ", "class", " ", "produces", " ", "automatically", " ", "periodic", " ", "tiling", " ", RowBox[{"complements", ".", " ", "This"}], " ", "is", " ", "explaied", " ", "fairly", " ", "clearly", " ", "in", " ", "the", " ", "paper", " ", "at", " ", "Step", " ", "4.", " ", "But", " ", "in", " ", "this", " ", "case", " ", "we", " ", "cannot", " ", "make", " ", "such", " ", RowBox[{"conclusions", "."}]}]}]}], " ", "\[IndentingNewLine]", "*)"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.43263263*^9, 3.43263263028125*^9}, {3.432632666125*^9, 3.43263272209375*^9}, {3.43263279953125*^9, 3.4326328273125*^9}, { 3.43263286540625*^9, 3.4326329634375*^9}, {3.43263302715625*^9, 3.43263317771875*^9}, {3.432633324609375*^9, 3.432633502875*^9}, { 3.432633570109375*^9, 3.43263362990625*^9}, {3.432634695546875*^9, 3.432634791421875*^9}, 3.432635619515625*^9, {3.432636435796875*^9, 3.4326364935*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ "Next", " ", "we", " ", "actually", " ", "select", " ", "whihch", " ", "sets", " ", "belong", " ", "to", " ", "which", " ", "equivalence", " ", RowBox[{"class", ".", " ", "T2"}], " ", "is", " ", "the", " ", "same", " ", "as", " ", RowBox[{"above", ".", " ", "The"}], " ", "output", " ", "is", " ", "explained", " ", RowBox[{"below", "."}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Length", "[", "T2", "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"H", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"Length", "[", "T2", "]"}], ",", "144"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MF", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"Length", "[", "T2", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MT", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"Length", "[", "T2", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "T2", "]"}]}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "144"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"T2", "[", RowBox[{"[", "j", "]"}], "]"}], ",", RowBox[{"Mod", "[", RowBox[{"k", ",", "144"}], "]"}]}], "]"}], ",", RowBox[{ RowBox[{"H", "[", RowBox[{"[", RowBox[{"j", ",", "k"}], "]"}], "]"}], "=", "1"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"k", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"v", "=", "1"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "2"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "T2", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "144"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"Not", "[", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"H", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "==", RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"H", "[", RowBox[{"[", "j", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}]}], "]"}], ")"}], "\[And]", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"H", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "\[Equal]", "0"}], "\[Or]", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"H", "[", RowBox[{"[", "j", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "\[Equal]", "0"}]}], ")"}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"MF", "[", RowBox[{"[", "v", "]"}], "]"}], "=", RowBox[{"H", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", RowBox[{ RowBox[{"MT", "[", RowBox[{"[", "v", "]"}], "]"}], "=", RowBox[{"T2", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", " ", RowBox[{"v", "=", RowBox[{"v", "+", "1"}]}], ";", " ", RowBox[{"k", "=", "145"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"k", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"MT", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"MT", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MF", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"MF", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "MF", "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"MMF", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"Length", "[", "T2", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MMT", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"Length", "[", "T2", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"vvv", "=", "1"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "2"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "MF", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "144"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"Not", "[", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"MF", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "==", RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"MF", "[", RowBox[{"[", "j", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}]}], "]"}], ")"}], "\[And]", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"MF", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "\[Equal]", "0"}], "\[Or]", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Fourier", "[", RowBox[{"MF", "[", RowBox[{"[", "j", "]"}], "]"}], "]"}], "]"}], "[", RowBox[{"[", "k", "]"}], "]"}], "\[Equal]", "0"}]}], ")"}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"MMF", "[", RowBox[{"[", "vvv", "]"}], "]"}], "=", RowBox[{"MF", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", RowBox[{ RowBox[{"MMT", "[", RowBox[{"[", "vvv", "]"}], "]"}], "=", RowBox[{"MT", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", " ", RowBox[{"vvv", "=", RowBox[{"vvv", "+", "1"}]}], ";", " ", RowBox[{"k", "=", "145"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"k", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"MMT", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"MMT", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MMF", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"MMF", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "MMF", "]"}], "\[IndentingNewLine]", RowBox[{"Complement", "[", RowBox[{"T2", ",", "MT"}], "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.432636035796875*^9, 3.43263603628125*^9}, 3.432636415109375*^9, {3.432636513046875*^9, 3.432636579453125*^9}, 3.432636668*^9, {3.4326367115625*^9, 3.43263671978125*^9}, { 3.43263712575*^9, 3.43263713571875*^9}}], Cell[BoxData["60"], "Output", CellChangeTimes->{3.432636606921875*^9, 3.432636677953125*^9, 3.4326371758125*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "48", ",", "60", ",", "72", ",", "81", ",", "89", ",", "120", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "47", ",", "48", ",", "59", ",", "88", ",", "96", ",", "107", ",", "119", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "43", ",", "48", ",", "60", ",", "72", ",", "83", ",", "91", ",", "120", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "49", ",", "61", ",", "88", ",", "96", ",", "109", ",", "121", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "45", ",", "48", ",", "60", ",", "72", ",", "85", ",", "93", ",", "120", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "51", ",", "63", ",", "88", ",", "96", ",", "111", ",", "123", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "48", ",", "60", ",", "72", ",", "87", ",", "95", ",", "120", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "53", ",", "65", ",", "88", ",", "96", ",", "113", ",", "125", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "55", ",", "67", ",", "88", ",", "96", ",", "115", ",", "127", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "57", ",", "69", ",", "88", ",", "96", ",", "117", ",", "129", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "59", ",", "71", ",", "88", ",", "96", ",", "119", ",", "131", ",", "136", ",", "143"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.432636606921875*^9, 3.432636677953125*^9, 3.432637178671875*^9}], Cell[BoxData["12"], "Output", CellChangeTimes->{3.432636606921875*^9, 3.432636677953125*^9, 3.432637178671875*^9}], Cell[BoxData["0"], "Output", CellChangeTimes->{3.432636606921875*^9, 3.432636677953125*^9, 3.432637179203125*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "39", ",", "40", ",", "48", ",", "69", ",", "88", ",", "96", ",", "99", ",", "111", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "30", ",", "37", ",", "60", ",", "72", ",", "77", ",", "85", ",", "102", ",", "125", ",", "132", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "37", ",", "42", ",", "48", ",", "72", ",", "77", ",", "85", ",", "114", ",", "120", ",", "125", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "41", ",", "48", ",", "71", ",", "88", ",", "96", ",", "101", ",", "113", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "101", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "31", ",", "39", ",", "60", ",", "72", ",", "79", ",", "87", ",", "102", ",", "127", ",", "132", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "33", ",", "41", ",", "60", ",", "72", ",", "81", ",", "89", ",", "102", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "42", ",", "43", ",", "72", ",", "83", ",", "91", ",", "102", ",", "114", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "43", ",", "60", ",", "72", ",", "83", ",", "91", ",", "102", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "42", ",", "45", ",", "72", ",", "85", ",", "93", ",", "102", ",", "114", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "45", ",", "60", ",", "72", ",", "85", ",", "93", ",", "102", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "42", ",", "47", ",", "72", ",", "87", ",", "95", ",", "102", ",", "114", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "47", ",", "60", ",", "72", ",", "87", ",", "95", ",", "102", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "37", ",", "40", ",", "48", ",", "61", ",", "88", ",", "96", ",", "103", ",", "109", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "48", ",", "72", ",", "79", ",", "87", ",", "114", ",", "120", ",", "127", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "66", ",", "72", ",", "79", ",", "87", ",", "114", ",", "127", ",", "135", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "40", ",", "48", ",", "55", ",", "61", ",", "88", ",", "96", ",", "103", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "39", ",", "40", ",", "48", ",", "63", ",", "88", ",", "96", ",", "105", ",", "111", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "48", ",", "57", ",", "63", ",", "88", ",", "96", ",", "105", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "48", ",", "72", ",", "81", ",", "89", ",", "114", ",", "120", ",", "129", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "66", ",", "72", ",", "81", ",", "89", ",", "114", ",", "129", ",", "137", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "41", ",", "48", ",", "65", ",", "88", ",", "96", ",", "107", ",", "113", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "48", ",", "59", ",", "65", ",", "88", ",", "96", ",", "107", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "48", ",", "72", ",", "83", ",", "91", ",", "114", ",", "120", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "66", ",", "72", ",", "83", ",", "91", ",", "114", ",", "131", ",", "138", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "43", ",", "48", ",", "67", ",", "88", ",", "96", ",", "109", ",", "115", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "61", ",", "67", ",", "88", ",", "96", ",", "109", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "48", ",", "72", ",", "85", ",", "93", ",", "114", ",", "120", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "66", ",", "72", ",", "85", ",", "93", ",", "114", ",", "133", ",", "138", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "51", ",", "88", ",", "96", ",", "111", ",", "117", ",", "123", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "69", ",", "88", ",", "96", ",", "111", ",", "117", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "63", ",", "69", ",", "88", ",", "96", ",", "111", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "48", ",", "72", ",", "87", ",", "95", ",", "114", ",", "120", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "66", ",", "72", ",", "87", ",", "95", ",", "114", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "60", ",", "66", ",", "72", ",", "87", ",", "95", ",", "132", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "53", ",", "88", ",", "96", ",", "113", ",", "119", ",", "125", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "71", ",", "88", ",", "96", ",", "113", ",", "119", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "65", ",", "71", ",", "88", ",", "96", ",", "113", ",", "136", ",", "137", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "49", ",", "55", ",", "88", ",", "96", ",", "115", ",", "121", ",", "127", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "51", ",", "57", ",", "88", ",", "96", ",", "117", ",", "123", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "119", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "49", ",", "55", ",", "61", ",", "88", ",", "96", ",", "121", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "51", ",", "57", ",", "63", ",", "88", ",", "96", ",", "123", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "53", ",", "59", ",", "65", ",", "88", ",", "96", ",", "125", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "55", ",", "61", ",", "67", ",", "88", ",", "96", ",", "127", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "57", ",", "63", ",", "69", ",", "88", ",", "96", ",", "129", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "59", ",", "65", ",", "71", ",", "88", ",", "96", ",", "131", ",", "136", ",", "137", ",", "143"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.432636606921875*^9, 3.432636677953125*^9, 3.43263717921875*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{"The", " ", "output", " ", "is", " ", "the", " ", RowBox[{ "following", ":", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"60", ":", " ", RowBox[{"the", " ", "length", " ", "of", " ", "T2"}]}]}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "48", ",", "60", ",", "72", ",", "81", ",", "89", ",", "120", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "47", ",", "48", ",", "59", ",", "88", ",", "96", ",", "107", ",", "119", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "43", ",", "48", ",", "60", ",", "72", ",", "83", ",", "91", ",", "120", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "49", ",", "61", ",", "88", ",", "96", ",", "109", ",", "121", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "45", ",", "48", ",", "60", ",", "72", ",", "85", ",", "93", ",", "120", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "51", ",", "63", ",", "88", ",", "96", ",", "111", ",", "123", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "48", ",", "60", ",", "72", ",", "87", ",", "95", ",", "120", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "53", ",", "65", ",", "88", ",", "96", ",", "113", ",", "125", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "55", ",", "67", ",", "88", ",", "96", ",", "115", ",", "127", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "57", ",", "69", ",", "88", ",", "96", ",", "117", ",", "129", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "59", ",", "71", ",", "88", ",", "96", ",", "119", ",", "131", ",", "136", ",", "143"}], "}"}]}], "}"}], ":", " ", RowBox[{ RowBox[{ "it", " ", "is", " ", "the", " ", "list", " ", "of", " ", "sets", " ", "which", " ", "are", " ", "NOT", " ", "in", " ", "the", " ", "same", " ", "class", " ", "as", " ", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ".", "\[IndentingNewLine]", "\[IndentingNewLine]", "12"}]}], ":", " ", RowBox[{ "the", " ", "length", " ", "of", " ", "the", " ", "list", " ", "above"}]}]}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"i", ".", "e", ".", " ", "the"}], " ", "number", " ", "of", " ", "sets", " ", "contained", " ", "in", " ", "the", " ", RowBox[{ "list", ".", "\[IndentingNewLine]", "\[IndentingNewLine]", "0"}]}], ":", " ", RowBox[{"this", " ", "is", " ", "just", " ", RowBox[{"crosscheking", ".", " ", "It"}], " ", "is", " ", "the", " ", "number", " ", "of", " ", "sets", " ", "which", " ", "are", " ", "not", " ", "in", " ", "the", " ", "same", " ", "class", " ", "as", " ", "either", " ", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], " ", "or", " ", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], ".", " ", "There"}], " ", "are", " ", "no", " ", "such", " ", "sets", " ", "of", " ", "course"}]}], ",", " ", RowBox[{ RowBox[{ "as", " ", "we", " ", "know", " ", "that", " ", "there", " ", "is", " ", "no", " ", "third", " ", "equivalence", " ", RowBox[{ "class", ".", " ", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "39", ",", "40", ",", "48", ",", "69", ",", "88", ",", "96", ",", "99", ",", "111", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "30", ",", "37", ",", "60", ",", "72", ",", "77", ",", "85", ",", "102", ",", "125", ",", "132", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "37", ",", "42", ",", "48", ",", "72", ",", "77", ",", "85", ",", "114", ",", "120", ",", "125", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "41", ",", "48", ",", "71", ",", "88", ",", "96", ",", "101", ",", "113", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "101", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "31", ",", "39", ",", "60", ",", "72", ",", "79", ",", "87", ",", "102", ",", "127", ",", "132", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "33", ",", "41", ",", "60", ",", "72", ",", "81", ",", "89", ",", "102", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "42", ",", "43", ",", "72", ",", "83", ",", "91", ",", "102", ",", "114", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "43", ",", "60", ",", "72", ",", "83", ",", "91", ",", "102", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "42", ",", "45", ",", "72", ",", "85", ",", "93", ",", "102", ",", "114", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "45", ",", "60", ",", "72", ",", "85", ",", "93", ",", "102", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "42", ",", "47", ",", "72", ",", "87", ",", "95", ",", "102", ",", "114", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "47", ",", "60", ",", "72", ",", "87", ",", "95", ",", "102", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "37", ",", "40", ",", "48", ",", "61", ",", "88", ",", "96", ",", "103", ",", "109", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "48", ",", "72", ",", "79", ",", "87", ",", "114", ",", "120", ",", "127", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "66", ",", "72", ",", "79", ",", "87", ",", "114", ",", "127", ",", "135", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "40", ",", "48", ",", "55", ",", "61", ",", "88", ",", "96", ",", "103", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "39", ",", "40", ",", "48", ",", "63", ",", "88", ",", "96", ",", "105", ",", "111", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "48", ",", "57", ",", "63", ",", "88", ",", "96", ",", "105", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "48", ",", "72", ",", "81", ",", "89", ",", "114", ",", "120", ",", "129", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "66", ",", "72", ",", "81", ",", "89", ",", "114", ",", "129", ",", "137", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "41", ",", "48", ",", "65", ",", "88", ",", "96", ",", "107", ",", "113", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "48", ",", "59", ",", "65", ",", "88", ",", "96", ",", "107", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "48", ",", "72", ",", "83", ",", "91", ",", "114", ",", "120", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "66", ",", "72", ",", "83", ",", "91", ",", "114", ",", "131", ",", "138", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "43", ",", "48", ",", "67", ",", "88", ",", "96", ",", "109", ",", "115", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "61", ",", "67", ",", "88", ",", "96", ",", "109", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "48", ",", "72", ",", "85", ",", "93", ",", "114", ",", "120", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "66", ",", "72", ",", "85", ",", "93", ",", "114", ",", "133", ",", "138", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "51", ",", "88", ",", "96", ",", "111", ",", "117", ",", "123", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "69", ",", "88", ",", "96", ",", "111", ",", "117", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "63", ",", "69", ",", "88", ",", "96", ",", "111", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "48", ",", "72", ",", "87", ",", "95", ",", "114", ",", "120", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "66", ",", "72", ",", "87", ",", "95", ",", "114", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "60", ",", "66", ",", "72", ",", "87", ",", "95", ",", "132", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "53", ",", "88", ",", "96", ",", "113", ",", "119", ",", "125", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "71", ",", "88", ",", "96", ",", "113", ",", "119", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "65", ",", "71", ",", "88", ",", "96", ",", "113", ",", "136", ",", "137", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "49", ",", "55", ",", "88", ",", "96", ",", "115", ",", "121", ",", "127", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "51", ",", "57", ",", "88", ",", "96", ",", "117", ",", "123", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "119", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "49", ",", "55", ",", "61", ",", "88", ",", "96", ",", "121", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "51", ",", "57", ",", "63", ",", "88", ",", "96", ",", "123", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "53", ",", "59", ",", "65", ",", "88", ",", "96", ",", "125", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "55", ",", "61", ",", "67", ",", "88", ",", "96", ",", "127", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "57", ",", "63", ",", "69", ",", "88", ",", "96", ",", "129", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "59", ",", "65", ",", "71", ",", "88", ",", "96", ",", "131", ",", "136", ",", "137", ",", "143"}], "}"}]}], "}"}]}]}], ":", " ", RowBox[{"the", " ", "rest", " ", "of", " ", "T2"}]}], ",", " ", RowBox[{ RowBox[{"i", ".", "e", ".", " ", "the"}], " ", "48", " ", "vectors", " ", "in", " ", "the", " ", "same", " ", "equivalence", " ", "class", " ", "as", " ", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], "."}]}]}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.432636686328125*^9, 3.43263696509375*^9}, { 3.43263702828125*^9, 3.432637030734375*^9}, {3.432637226921875*^9, 3.432637399890625*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{"We", " ", "have", " ", "concluded", " ", "so", " ", "far"}], ",", " ", RowBox[{ RowBox[{"that", " ", "there", " ", "are", " ", "60", " ", "non"}], "-", RowBox[{ "periodic", " ", "candidates", " ", "in", " ", "normal", " ", "form"}]}], ",", " ", RowBox[{"divisible", " ", "by", " ", "Phi_", RowBox[{"{", RowBox[{"2", ",", "9", ",", "16"}], "}"}]}], ",", " ", RowBox[{"and", " ", "they", " ", "fall", " ", "into", " ", "two", " ", RowBox[{"classes", ":", " ", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "144", ",", "36", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"144", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}]}], "}"}], ".", " ", "And"}], " ", "we", " ", "sorted", " ", "them", " ", "into", " ", "these", " ", "two", " ", "equivalence", " ", "classes"}]}]}], ",", " ", RowBox[{ "on", " ", "of", " ", "them", " ", "containing", " ", "12", " ", "sets"}], ",", " ", RowBox[{ "the", " ", "other", " ", "48.", "\[IndentingNewLine]", "\[IndentingNewLine]", "So"}], ",", " ", RowBox[{ RowBox[{"next", " ", "we", " ", "run", " ", "the", " ", "fill"}], "-", RowBox[{ "out", " ", "procedure", " ", "for", " ", "a", " ", "representative", " ", "of", " ", "each", " ", RowBox[{"class", ".", " ", "First"}], " ", "we", " ", "run", " ", "it", " ", "for", " ", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], "."}]}]}]}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Dynamic", "[", RowBox[{"{", RowBox[{"i", ",", "g", ",", " ", "mark"}], "}"}], "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Clear", "[", RowBox[{ "n", ",", "B", ",", "R", ",", "Tile", ",", "A", ",", "U", ",", "mark", ",", "T", ",", "g"}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"n", "=", "144"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B", "=", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "1000000"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"R", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "n"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"A", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}], ",", "n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"U", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", "1", "]"}], "]"}], "=", "B"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"mark", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"1", "&"}], ",", RowBox[{ RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}], "+", "1"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"T", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{ RowBox[{"{", "0", "}"}], "&"}], ",", RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"g", "=", "1"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", " ", RowBox[{"i", ">", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "\[Equal]", "n"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"Tile", "[", RowBox[{"[", "g", "]"}], "]"}], "=", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], ";", RowBox[{"g", "=", RowBox[{"g", "+", "1"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", "n"}], ",", RowBox[{ RowBox[{"k", "=", "100"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"Not", "[", RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"Mod", "[", RowBox[{"j", ",", "n"}], "]"}]}], "]"}], "]"}], ",", " ", RowBox[{ RowBox[{"k", "=", "0"}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"m", "=", "1"}], ",", " ", RowBox[{"m", "\[LessEqual]", RowBox[{"Length", "[", "B", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Intersection]", " ", RowBox[{"Mod", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"j", "-", RowBox[{"B", "[", RowBox[{"[", "m", "]"}], "]"}]}], ")"}], "+", "B"}], ",", "n"}], "]"}]}], "\[Equal]", RowBox[{"{", "}"}]}], ",", " ", RowBox[{ RowBox[{"k", "=", RowBox[{"k", "+", "1"}]}], ";", " ", RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "j", ",", "m"}], "]"}], "]"}], "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"j", "-", RowBox[{"B", "[", RowBox[{"[", "m", "]"}], "]"}]}], ",", "n"}], "]"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"m", "++"}]}]}], "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"R", "[", RowBox[{"[", "j", "]"}], "]"}], "=", "k"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"min", "=", RowBox[{"Min", "[", "R", "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"(", RowBox[{"Not", "[", RowBox[{"min", "\[Equal]", "0"}], "]"}], ")"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"t", "=", RowBox[{"Catch", "[", RowBox[{"Do", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"R", "[", RowBox[{"[", "ii", "]"}], "]"}], "\[Equal]", "min"}], ",", " ", RowBox[{"Throw", "[", "ii", "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"ii", ",", "n"}], "}"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "\[LessEqual]", RowBox[{"Length", "[", "B", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"b", "=", RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", " ", RowBox[{"b", "<=", RowBox[{"Length", "[", "B", "]"}]}], ",", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"b", "+", "1"}]}], ";", RowBox[{"z", "=", "0"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"Not", "[", RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "\[Equal]", "200"}], "]"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"Mod", "[", RowBox[{ RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "+", "B"}], ",", "n"}], "]"}]}]}], ";", " ", RowBox[{ RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"{", RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "}"}]}]}], ";", " ", RowBox[{"b", "=", RowBox[{ RowBox[{"Length", "[", "B", "]"}], "+", "1"}]}], ";", RowBox[{"z", "=", "1"}], ";", RowBox[{"i", "=", RowBox[{"i", "+", "1"}]}], ";"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"b", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"z", "==", "0"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}], "\[IndentingNewLine]", ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}], "\[IndentingNewLine]", ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Tile", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Tile", "]"}], "\[IndentingNewLine]", RowBox[{"Tile", ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", " ", "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.432633632421875*^9, 3.432633775046875*^9}, { 3.432633931015625*^9, 3.432633980375*^9}, {3.432634011484375*^9, 3.432634017234375*^9}, {3.4326374124375*^9, 3.43263749565625*^9}}], Cell[BoxData[ DynamicBox[ ToBoxes[{$CellContext`i, $CellContext`g, $CellContext`mark}, StandardForm], ImageSizeCache->{303.625, {2., 8.}}]], "Output", CellChangeTimes->{3.432633987078125*^9, 3.432634022984375*^9}], Cell[BoxData["1944"], "Output", CellChangeTimes->{3.432633987078125*^9, 3.432634185328125*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{"There", " ", "are", " ", "1944", " ", "tiling", " ", RowBox[{"complements", "."}]}], "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.43263430971875*^9, 3.432634334046875*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"Now", " ", "we", " ", "select", " ", "the", " ", "non"}], "-", RowBox[{"periodic", " ", "ones"}]}], ",", " ", RowBox[{"in", " ", "normal", " ", RowBox[{"form", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "Tile", "]"}]}], ",", " ", RowBox[{ RowBox[{"P", "=", RowBox[{"Tile", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "2"}], ",", " ", RowBox[{"i", "<=", RowBox[{"Length", "[", "P", "]"}]}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{"Tile", ",", RowBox[{ RowBox[{"Mod", "[", RowBox[{ RowBox[{"P", "-", RowBox[{"P", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", "n"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], "]"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"Tile", "[", RowBox[{"[", "j", "]"}], "]"}], "=", "0"}], ";", RowBox[{"i", "=", RowBox[{ RowBox[{"Length", "[", "P", "]"}], "+", "1"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"i", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Tile", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Tile", "]"}], "\[IndentingNewLine]", "Tile", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.432633352390625*^9, 3.432633352703125*^9}, { 3.432634030234375*^9, 3.432634062453125*^9}}], Cell[BoxData["162"], "Output", CellChangeTimes->{3.43263434903125*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "16", ",", "30", ",", "44", ",", "58", ",", "74", ",", "80", ",", "94", ",", "108", ",", "110", ",", "124", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "16", ",", "32", ",", "38", ",", "54", ",", "70", ",", "74", ",", "90", ",", "106", ",", "108", ",", "124", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "16", ",", "32", ",", "42", ",", "58", ",", "74", ",", "78", ",", "94", ",", "108", ",", "110", ",", "124", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "16", ",", "32", ",", "46", ",", "62", ",", "78", ",", "82", ",", "98", ",", "108", ",", "114", ",", "124", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "22", ",", "36", ",", "50", ",", "54", ",", "64", ",", "80", ",", "86", ",", "100", ",", "116", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "28", ",", "44", ",", "54", ",", "64", ",", "80", ",", "82", ",", "98", ",", "108", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "28", ",", "44", ",", "62", ",", "64", ",", "80", ",", "94", ",", "98", ",", "108", ",", "126", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "32", ",", "46", ",", "62", ",", "76", ",", "82", ",", "98", ",", "108", ",", "112", ",", "126", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "34", ",", "36", ",", "54", ",", "64", ",", "70", ",", "80", ",", "98", ",", "100", ",", "116", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "34", ",", "44", ",", "62", ",", "76", ",", "80", ",", "98", ",", "108", ",", "112", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "34", ",", "50", ",", "54", ",", "70", ",", "76", ",", "86", ",", "92", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "36", ",", "54", ",", "64", ",", "80", ",", "82", ",", "98", ",", "100", ",", "116", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "20", ",", "36", ",", "42", ",", "58", ",", "64", ",", "74", ",", "78", ",", "94", ",", "100", ",", "110", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "20", ",", "36", ",", "46", ",", "62", ",", "64", ",", "78", ",", "82", ",", "98", ",", "100", ",", "114", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "20", ",", "36", ",", "50", ",", "64", ",", "66", ",", "82", ",", "86", ",", "100", ",", "102", ",", "118", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "20", ",", "36", ",", "54", ",", "64", ",", "70", ",", "86", ",", "90", ",", "100", ",", "106", ",", "122", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "26", ",", "36", ",", "54", ",", "58", ",", "64", ",", "80", ",", "90", ",", "100", ",", "116", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "28", ",", "32", ",", "54", ",", "58", ",", "64", ",", "86", ",", "90", ",", "108", ",", "122", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "28", ",", "38", ",", "54", ",", "58", ",", "64", ",", "74", ",", "90", ",", "92", ",", "108", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "28", ",", "38", ",", "58", ",", "64", ",", "74", ",", "92", ",", "102", ",", "108", ",", "128", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "28", ",", "44", ",", "58", ",", "64", ",", "80", ",", "86", ",", "102", ",", "108", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "28", ",", "44", ",", "64", ",", "66", ",", "80", ",", "98", ",", "102", ",", "108", ",", "130", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "32", ",", "36", ",", "58", ",", "64", ",", "68", ",", "86", ",", "100", ",", "102", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "32", ",", "50", ",", "66", ",", "76", ",", "86", ",", "102", ",", "108", ",", "112", ",", "130", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "32", ",", "54", ",", "58", ",", "76", ",", "86", ",", "90", ",", "108", ",", "112", ",", "122", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "36", ",", "38", ",", "58", ",", "64", ",", "74", ",", "80", ",", "100", ",", "102", ",", "116", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "36", ",", "50", ",", "64", ",", "66", ",", "80", ",", "86", ",", "100", ",", "102", ",", "116", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "36", ",", "58", ",", "64", ",", "80", ",", "86", ",", "100", ",", "102", ",", "116", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "38", ",", "54", ",", "58", ",", "74", ",", "76", ",", "90", ",", "92", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "38", ",", "58", ",", "74", ",", "76", ",", "92", ",", "102", ",", "108", ",", "112", ",", "128", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "44", ",", "50", ",", "66", ",", "76", ",", "80", ",", "86", ",", "102", ",", "108", ",", "112", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "44", ",", "58", ",", "76", ",", "80", ",", "86", ",", "102", ",", "108", ",", "112", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "44", ",", "66", ",", "76", ",", "80", ",", "98", ",", "102", ",", "108", ",", "112", ",", "130", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "28", ",", "42", ",", "58", ",", "62", ",", "64", ",", "78", ",", "92", ",", "94", ",", "108", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "28", ",", "42", ",", "62", ",", "64", ",", "78", ",", "92", ",", "106", ",", "108", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "28", ",", "44", ",", "58", ",", "62", ",", "64", ",", "80", ",", "90", ",", "94", ",", "108", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "28", ",", "44", ",", "62", ",", "64", ",", "80", ",", "90", ",", "106", ",", "108", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "30", ",", "36", ",", "58", ",", "62", ",", "64", ",", "80", ",", "94", ",", "100", ",", "116", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "30", ",", "36", ",", "62", ",", "64", ",", "80", ",", "100", ",", "106", ",", "116", ",", "138", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "30", ",", "44", ",", "62", ",", "76", ",", "80", ",", "106", ",", "108", ",", "112", ",", "138", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "32", ",", "36", ",", "62", ",", "64", ",", "68", ",", "90", ",", "100", ",", "106", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "32", ",", "54", ",", "70", ",", "76", ",", "90", ",", "106", ",", "108", ",", "112", ",", "134", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "32", ",", "58", ",", "62", ",", "76", ",", "90", ",", "94", ",", "108", ",", "112", ",", "126", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "36", ",", "42", ",", "62", ",", "64", ",", "78", ",", "80", ",", "100", ",", "106", ",", "116", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "36", ",", "54", ",", "64", ",", "70", ",", "80", ",", "90", ",", "100", ",", "106", ",", "116", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "36", ",", "58", ",", "62", ",", "64", ",", "80", ",", "90", ",", "94", ",", "100", ",", "116", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "36", ",", "62", ",", "64", ",", "80", ",", "90", ",", "100", ",", "106", ",", "116", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "42", ",", "58", ",", "62", ",", "76", ",", "78", ",", "92", ",", "94", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "42", ",", "62", ",", "76", ",", "78", ",", "92", ",", "106", ",", "108", ",", "112", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "44", ",", "54", ",", "70", ",", "76", ",", "80", ",", "90", ",", "106", ",", "108", ",", "112", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "44", ",", "58", ",", "62", ",", "76", ",", "80", ",", "90", ",", "94", ",", "108", ",", "112", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "44", ",", "62", ",", "76", ",", "80", ",", "90", ",", "106", ",", "108", ",", "112", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "44", ",", "70", ",", "76", ",", "80", ",", "102", ",", "106", ",", "108", ",", "112", ",", "134", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "30", ",", "34", ",", "62", ",", "64", ",", "66", ",", "92", ",", "98", ",", "108", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "30", ",", "44", ",", "62", ",", "64", ",", "66", ",", "80", ",", "94", ",", "98", ",", "108", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "30", ",", "46", ",", "62", ",", "64", ",", "66", ",", "82", ",", "92", ",", "98", ",", "108", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "32", ",", "34", ",", "62", ",", "64", ",", "78", ",", "98", ",", "108", ",", "114", ",", "140", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "32", ",", "46", ",", "62", ",", "64", ",", "78", ",", "82", ",", "98", ",", "108", ",", "114", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "32", ",", "50", ",", "64", ",", "66", ",", "82", ",", "86", ",", "102", ",", "108", ",", "118", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "32", ",", "54", ",", "64", ",", "70", ",", "86", ",", "90", ",", "106", ",", "108", ",", "122", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "32", ",", "58", ",", "64", ",", "74", ",", "90", ",", "94", ",", "108", ",", "110", ",", "126", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "34", ",", "44", ",", "62", ",", "64", ",", "78", ",", "80", ",", "98", ",", "108", ",", "114", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "34", ",", "44", ",", "64", ",", "66", ",", "70", ",", "80", ",", "98", ",", "102", ",", "108", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "34", ",", "50", ",", "64", ",", "66", ",", "70", ",", "86", ",", "92", ",", "102", ",", "108", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "34", ",", "62", ",", "64", ",", "78", ",", "92", ",", "98", ",", "108", ",", "114", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "38", ",", "54", ",", "64", ",", "70", ",", "74", ",", "90", ",", "92", ",", "106", ",", "108", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "38", ",", "64", ",", "70", ",", "74", ",", "92", ",", "102", ",", "106", ",", "108", ",", "128", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "42", ",", "58", ",", "64", ",", "74", ",", "78", ",", "92", ",", "94", ",", "108", ",", "110", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "42", ",", "64", ",", "74", ",", "78", ",", "92", ",", "106", ",", "108", ",", "110", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "50", ",", "64", ",", "66", ",", "80", ",", "82", ",", "86", ",", "102", ",", "108", ",", "118"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "54", ",", "64", ",", "70", ",", "80", ",", "86", ",", "90", ",", "106", ",", "108", ",", "122"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "58", ",", "64", ",", "74", ",", "80", ",", "90", ",", "94", ",", "108", ",", "110", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "62", ",", "64", ",", "78", ",", "80", ",", "94", ",", "98", ",", "108", ",", "114", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "64", ",", "66", ",", "80", ",", "82", ",", "98", ",", "102", ",", "108", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "64", ",", "70", ",", "80", ",", "86", ",", "102", ",", "106", ",", "108", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "44", ",", "64", ",", "74", ",", "80", ",", "90", ",", "106", ",", "108", ",", "110", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "46", ",", "62", ",", "64", ",", "78", ",", "82", ",", "92", ",", "98", ",", "108", ",", "114", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "50", ",", "64", ",", "66", ",", "82", ",", "86", ",", "92", ",", "102", ",", "108", ",", "118", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "28", ",", "54", ",", "64", ",", "70", ",", "86", ",", "90", ",", "92", ",", "106", ",", "108", ",", "122", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "32", ",", "34", ",", "62", ",", "66", ",", "76", ",", "98", ",", "108", ",", "112", ",", "140", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "32", ",", "36", ",", "58", ",", "64", ",", "68", ",", "74", ",", "94", ",", "100", ",", "110", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "32", ",", "36", ",", "64", ",", "68", ",", "74", ",", "100", ",", "106", ",", "110", ",", "138", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "32", ",", "46", ",", "62", ",", "66", ",", "76", ",", "82", ",", "98", ",", "108", ",", "112", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "32", ",", "58", ",", "74", ",", "76", ",", "94", ",", "108", ",", "110", ",", "112", ",", "138", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "34", ",", "36", ",", "62", ",", "64", ",", "66", ",", "80", ",", "98", ",", "100", ",", "116", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "34", ",", "44", ",", "62", ",", "66", ",", "76", ",", "80", ",", "98", ",", "108", ",", "112", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "34", ",", "62", ",", "66", ",", "76", ",", "92", ",", "98", ",", "108", ",", "112", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "36", ",", "46", ",", "62", ",", "64", ",", "66", ",", "80", ",", "82", ",", "98", ",", "100", ",", "116"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "36", ",", "58", ",", "64", ",", "74", ",", "80", ",", "94", ",", "100", ",", "110", ",", "116", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "36", ",", "62", ",", "64", ",", "66", ",", "80", ",", "94", ",", "98", ",", "100", ",", "116", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "36", ",", "64", ",", "74", ",", "80", ",", "100", ",", "106", ",", "110", ",", "116", ",", "138", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "44", ",", "58", ",", "74", ",", "76", ",", "80", ",", "94", ",", "108", ",", "110", ",", "112", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "44", ",", "62", ",", "66", ",", "76", ",", "80", ",", "94", ",", "98", ",", "108", ",", "112", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "44", ",", "74", ",", "76", ",", "80", ",", "106", ",", "108", ",", "110", ",", "112", ",", "138", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "46", ",", "62", ",", "66", ",", "76", ",", "82", ",", "92", ",", "98", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "58", ",", "74", ",", "76", ",", "92", ",", "94", ",", "108", ",", "110", ",", "112", ",", "128", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "34", ",", "36", ",", "62", ",", "64", ",", "68", ",", "78", ",", "98", ",", "100", ",", "114", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "34", ",", "50", ",", "66", ",", "70", ",", "76", ",", "86", ",", "102", ",", "108", ",", "112", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "34", ",", "62", ",", "76", ",", "78", ",", "98", ",", "108", ",", "112", ",", "114", ",", "140", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "42", ",", "64", ",", "68", ",", "74", ",", "78", ",", "100", ",", "106", ",", "110", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "46", ",", "62", ",", "64", ",", "68", ",", "78", ",", "82", ",", "98", ",", "100", ",", "114"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "50", ",", "64", ",", "66", ",", "68", ",", "82", ",", "86", ",", "100", ",", "102", ",", "118"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "54", ",", "64", ",", "68", ",", "70", ",", "86", ",", "90", ",", "100", ",", "106", ",", "122"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "58", ",", "64", ",", "68", ",", "74", ",", "90", ",", "94", ",", "100", ",", "110", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "62", ",", "64", ",", "68", ",", "78", ",", "94", ",", "98", ",", "100", ",", "114", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "64", ",", "66", ",", "68", ",", "82", ",", "98", ",", "100", ",", "102", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "64", ",", "68", ",", "70", ",", "86", ",", "100", ",", "102", ",", "106", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "36", ",", "64", ",", "68", ",", "74", ",", "90", ",", "100", ",", "106", ",", "110", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "38", ",", "54", ",", "70", ",", "74", ",", "76", ",", "90", ",", "106", ",", "108", ",", "112", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "38", ",", "70", ",", "74", ",", "76", ",", "102", ",", "106", ",", "108", ",", "112", ",", "138", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "42", ",", "58", ",", "74", ",", "76", ",", "78", ",", "94", ",", "108", ",", "110", ",", "112", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "42", ",", "74", ",", "76", ",", "78", ",", "106", ",", "108", ",", "110", ",", "112", ",", "140", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "46", ",", "62", ",", "76", ",", "78", ",", "82", ",", "98", ",", "108", ",", "112", ",", "114", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "50", ",", "66", ",", "76", ",", "82", ",", "86", ",", "102", ",", "108", ",", "112", ",", "118", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "54", ",", "70", ",", "76", ",", "86", ",", "90", ",", "106", ",", "108", ",", "112", ",", "122", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "58", ",", "74", ",", "76", ",", "90", ",", "94", ",", "108", ",", "110", ",", "112", ",", "126", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "32", ",", "62", ",", "76", ",", "78", ",", "94", ",", "98", ",", "108", ",", "112", ",", "114", ",", "130", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "36", ",", "50", ",", "64", ",", "66", ",", "70", ",", "80", ",", "86", ",", "100", ",", "102", ",", "116"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "36", ",", "62", ",", "64", ",", "78", ",", "80", ",", "98", ",", "100", ",", "114", ",", "116", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "36", ",", "64", ",", "66", ",", "70", ",", "80", ",", "98", ",", "100", ",", "102", ",", "116", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "44", ",", "50", ",", "66", ",", "70", ",", "76", ",", "80", ",", "86", ",", "102", ",", "108", ",", "112"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "44", ",", "62", ",", "76", ",", "78", ",", "80", ",", "98", ",", "108", ",", "112", ",", "114", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "44", ",", "66", ",", "70", ",", "76", ",", "80", ",", "98", ",", "102", ",", "108", ",", "112", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "50", ",", "66", ",", "70", ",", "76", ",", "86", ",", "92", ",", "102", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "62", ",", "76", ",", "78", ",", "92", ",", "98", ",", "108", ",", "112", ",", "114", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "34", ",", "66", ",", "70", ",", "76", ",", "92", ",", "98", ",", "102", ",", "108", ",", "112", ",", "128", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "38", ",", "54", ",", "64", ",", "70", ",", "74", ",", "80", ",", "90", ",", "100", ",", "106", ",", "116"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "38", ",", "64", ",", "70", ",", "74", ",", "80", ",", "100", ",", "102", ",", "106", ",", "116", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "42", ",", "58", ",", "64", ",", "74", ",", "78", ",", "80", ",", "94", ",", "100", ",", "110", ",", "116"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "42", ",", "64", ",", "74", ",", "78", ",", "80", ",", "100", ",", "106", ",", "110", ",", "116", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "46", ",", "62", ",", "64", ",", "78", ",", "80", ",", "82", ",", "98", ",", "100", ",", "114", ",", "116"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "50", ",", "64", ",", "66", ",", "80", ",", "82", ",", "86", ",", "100", ",", "102", ",", "116", ",", "118"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "54", ",", "64", ",", "70", ",", "80", ",", "86", ",", "90", ",", "100", ",", "106", ",", "116", ",", "122"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "58", ",", "64", ",", "74", ",", "80", ",", "90", ",", "94", ",", "100", ",", "110", ",", "116", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "62", ",", "64", ",", "78", ",", "80", ",", "94", ",", "98", ",", "100", ",", "114", ",", "116", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "64", ",", "66", ",", "80", ",", "82", ",", "98", ",", "100", ",", "102", ",", "116", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "64", ",", "70", ",", "80", ",", "86", ",", "100", ",", "102", ",", "106", ",", "116", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "36", ",", "64", ",", "74", ",", "80", ",", "90", ",", "100", ",", "106", ",", "110", ",", "116", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "38", ",", "44", ",", "54", ",", "70", ",", "74", ",", "76", ",", "80", ",", "90", ",", "106", ",", "108", ",", "112"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "38", ",", "44", ",", "70", ",", "74", ",", "76", ",", "80", ",", "102", ",", "106", ",", "108", ",", "112", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "38", ",", "54", ",", "70", ",", "74", ",", "76", ",", "90", ",", "92", ",", "106", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "38", ",", "70", ",", "74", ",", "76", ",", "92", ",", "102", ",", "106", ",", "108", ",", "112", ",", "128", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "42", ",", "44", ",", "58", ",", "74", ",", "76", ",", "78", ",", "80", ",", "94", ",", "108", ",", "110", ",", "112"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "42", ",", "44", ",", "74", ",", "76", ",", "78", ",", "80", ",", "106", ",", "108", ",", "110", ",", "112", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "42", ",", "58", ",", "74", ",", "76", ",", "78", ",", "92", ",", "94", ",", "108", ",", "110", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "42", ",", "74", ",", "76", ",", "78", ",", "92", ",", "106", ",", "108", ",", "110", ",", "112", ",", "128", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "46", ",", "62", ",", "76", ",", "78", ",", "80", ",", "82", ",", "98", ",", "108", ",", "112", ",", "114"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "50", ",", "66", ",", "76", ",", "80", ",", "82", ",", "86", ",", "102", ",", "108", ",", "112", ",", "118"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "54", ",", "70", ",", "76", ",", "80", ",", "86", ",", "90", ",", "106", ",", "108", ",", "112", ",", "122"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "58", ",", "74", ",", "76", ",", "80", ",", "90", ",", "94", ",", "108", ",", "110", ",", "112", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "62", ",", "76", ",", "78", ",", "80", ",", "94", ",", "98", ",", "108", ",", "112", ",", "114", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "66", ",", "76", ",", "80", ",", "82", ",", "98", ",", "102", ",", "108", ",", "112", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "70", ",", "76", ",", "80", ",", "86", ",", "102", ",", "106", ",", "108", ",", "112", ",", "122", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "44", ",", "74", ",", "76", ",", "80", ",", "90", ",", "106", ",", "108", ",", "110", ",", "112", ",", "126", ",", "142"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "46", ",", "62", ",", "76", ",", "78", ",", "82", ",", "92", ",", "98", ",", "108", ",", "112", ",", "114", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "50", ",", "66", ",", "76", ",", "82", ",", "86", ",", "92", ",", "102", ",", "108", ",", "112", ",", "118", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "54", ",", "70", ",", "76", ",", "86", ",", "90", ",", "92", ",", "106", ",", "108", ",", "112", ",", "122", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "58", ",", "74", ",", "76", ",", "90", ",", "92", ",", "94", ",", "108", ",", "110", ",", "112", ",", "126", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "62", ",", "76", ",", "78", ",", "92", ",", "94", ",", "98", ",", "108", ",", "112", ",", "114", ",", "128", ",", "130"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "66", ",", "76", ",", "82", ",", "92", ",", "98", ",", "102", ",", "108", ",", "112", ",", "118", ",", "128", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "70", ",", "76", ",", "86", ",", "92", ",", "102", ",", "106", ",", "108", ",", "112", ",", "122", ",", "128", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "74", ",", "76", ",", "90", ",", "92", ",", "106", ",", "108", ",", "110", ",", "112", ",", "126", ",", "128", ",", "142"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.432634349046875*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{"There", " ", "are", " ", "162", " ", "such", " ", RowBox[{"complements", ".", " ", "So"}]}], ",", " ", RowBox[{ RowBox[{ "we", " ", "conclude", " ", "that", " ", "the", " ", "set", " ", "B"}], "=", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], " ", "has", " ", "162", " ", "non"}], "-", RowBox[{ "periodic", " ", "tiling", " ", "complements", " ", "in", " ", "normal", " ", RowBox[{"form", ".", " ", "Clearly"}]}]}]}], ",", " ", RowBox[{ "all", " ", "the", " ", "sets", " ", "in", " ", "the", " ", "same", " ", "equivalence", " ", "class", " ", "with", " ", "B", " ", "will", " ", "have", " ", "the", " ", "same", " ", "tiling", " ", RowBox[{"complements", ".", " ", "So"}]}], ",", " ", RowBox[{ "we", " ", "conclude", " ", "that", " ", "this", " ", "162", " ", "sets", " ", "all", " ", "tile", " ", "with", " ", "each", " ", "set", " ", "of", " ", "the", " ", "class", " ", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "48", ",", "60", ",", "72", ",", "81", ",", "89", ",", "120", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "47", ",", "48", ",", "59", ",", "88", ",", "96", ",", "107", ",", "119", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "43", ",", "48", ",", "60", ",", "72", ",", "83", ",", "91", ",", "120", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "49", ",", "61", ",", "88", ",", "96", ",", "109", ",", "121", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "45", ",", "48", ",", "60", ",", "72", ",", "85", ",", "93", ",", "120", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "51", ",", "63", ",", "88", ",", "96", ",", "111", ",", "123", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "48", ",", "60", ",", "72", ",", "87", ",", "95", ",", "120", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "53", ",", "65", ",", "88", ",", "96", ",", "113", ",", "125", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "55", ",", "67", ",", "88", ",", "96", ",", "115", ",", "127", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "57", ",", "69", ",", "88", ",", "96", ",", "117", ",", "129", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "59", ",", "71", ",", "88", ",", "96", ",", "119", ",", "131", ",", "136", ",", "143"}], "}"}]}], "}"}], "."}]}]}], "\[IndentingNewLine]", " ", "*)"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.432634360140625*^9, 3.432634377671875*^9}, { 3.432634441515625*^9, 3.43263444953125*^9}, {3.432634491890625*^9, 3.432634524328125*^9}, {3.432634583671875*^9, 3.432634676*^9}, { 3.432634804921875*^9, 3.43263480559375*^9}, {3.432634846265625*^9, 3.43263488746875*^9}, {3.432637541359375*^9, 3.432637611140625*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ "Now", " ", "we", " ", "list", " ", "the", " ", "tiling", " ", "complements", " ", "for", " ", "the", " ", "representative", " ", "of", " ", "the", " ", "other", " ", "equivalence", " ", "class"}], ",", " ", RowBox[{"B", "=", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], "."}]}]}], "\[IndentingNewLine]", " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Dynamic", "[", RowBox[{"{", RowBox[{"i", ",", "g", ",", " ", "mark"}], "}"}], "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Clear", "[", RowBox[{ "n", ",", "B", ",", "R", ",", "Tile", ",", "A", ",", "U", ",", "mark", ",", "T", ",", "g"}], "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"n", "=", "144"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B", "=", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "1000000"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"R", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", "n"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"A", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}], ",", "n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"U", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"0", "&"}], ",", RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", "1", "]"}], "]"}], "=", "B"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"mark", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"1", "&"}], ",", RowBox[{ RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}], "+", "1"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"T", "=", RowBox[{"Array", "[", RowBox[{ RowBox[{ RowBox[{"{", "0", "}"}], "&"}], ",", RowBox[{"n", "/", RowBox[{"Length", "[", "B", "]"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"g", "=", "1"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", " ", RowBox[{"i", ">", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "\[Equal]", "n"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"Tile", "[", RowBox[{"[", "g", "]"}], "]"}], "=", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], ";", RowBox[{"g", "=", RowBox[{"g", "+", "1"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", "n"}], ",", RowBox[{ RowBox[{"k", "=", "100"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"Not", "[", RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"Mod", "[", RowBox[{"j", ",", "n"}], "]"}]}], "]"}], "]"}], ",", " ", RowBox[{ RowBox[{"k", "=", "0"}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"m", "=", "1"}], ",", " ", RowBox[{"m", "\[LessEqual]", RowBox[{"Length", "[", "B", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Intersection]", " ", RowBox[{"Mod", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"j", "-", RowBox[{"B", "[", RowBox[{"[", "m", "]"}], "]"}]}], ")"}], "+", "B"}], ",", "n"}], "]"}]}], "\[Equal]", RowBox[{"{", "}"}]}], ",", " ", RowBox[{ RowBox[{"k", "=", RowBox[{"k", "+", "1"}]}], ";", " ", RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "j", ",", "m"}], "]"}], "]"}], "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"j", "-", RowBox[{"B", "[", RowBox[{"[", "m", "]"}], "]"}]}], ",", "n"}], "]"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"m", "++"}]}]}], "]"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"R", "[", RowBox[{"[", "j", "]"}], "]"}], "=", "k"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"min", "=", RowBox[{"Min", "[", "R", "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"(", RowBox[{"Not", "[", RowBox[{"min", "\[Equal]", "0"}], "]"}], ")"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"t", "=", RowBox[{"Catch", "[", RowBox[{"Do", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"R", "[", RowBox[{"[", "ii", "]"}], "]"}], "\[Equal]", "min"}], ",", " ", RowBox[{"Throw", "[", "ii", "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"ii", ",", "n"}], "}"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "\[LessEqual]", RowBox[{"Length", "[", "B", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"b", "=", RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", " ", RowBox[{"b", "<=", RowBox[{"Length", "[", "B", "]"}]}], ",", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"b", "+", "1"}]}], ";", RowBox[{"z", "=", "0"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"Not", "[", RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "\[Equal]", "200"}], "]"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"U", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"U", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"Mod", "[", RowBox[{ RowBox[{ RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "+", "B"}], ",", "n"}], "]"}]}]}], ";", " ", RowBox[{ RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "\[Union]", RowBox[{"{", RowBox[{"A", "[", RowBox[{"[", RowBox[{"i", ",", "t", ",", "b"}], "]"}], "]"}], "}"}]}]}], ";", " ", RowBox[{"b", "=", RowBox[{ RowBox[{"Length", "[", "B", "]"}], "+", "1"}]}], ";", RowBox[{"z", "=", "1"}], ";", RowBox[{"i", "=", RowBox[{"i", "+", "1"}]}], ";"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"b", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"z", "==", "0"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}], "\[IndentingNewLine]", ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}], "\[IndentingNewLine]", ",", " ", RowBox[{ RowBox[{ RowBox[{"mark", "[", RowBox[{"[", "i", "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"A", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Array", "[", RowBox[{ RowBox[{"200", "&"}], ",", RowBox[{"{", RowBox[{"n", ",", RowBox[{"Length", "[", "B", "]"}]}], "}"}]}], "]"}]}], ";", RowBox[{ RowBox[{"T", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"T", "[", RowBox[{"[", RowBox[{"i", "-", "1"}], "]"}], "]"}]}], ";", RowBox[{"i", "=", RowBox[{"i", "-", "1"}]}]}]}], "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Tile", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Tile", "]"}], "\[IndentingNewLine]", RowBox[{"Tile", ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.43263489196875*^9, 3.4326348920625*^9}, { 3.432634960484375*^9, 3.432635068609375*^9}}], Cell[BoxData[ DynamicBox[ ToBoxes[{$CellContext`i, $CellContext`g, $CellContext`mark}, StandardForm], ImageSizeCache->{303.625, {2., 8.}}]], "Output", CellChangeTimes->{3.43263507415625*^9}], Cell[BoxData["72"], "Output", CellChangeTimes->{3.4326350940625*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"Now", " ", "we", " ", "select", " ", "the", " ", "non"}], "-", RowBox[{"periodic", " ", "ones"}]}], ",", " ", RowBox[{"in", " ", "normal", " ", RowBox[{"form", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", RowBox[{"Length", "[", "Tile", "]"}]}], ",", " ", RowBox[{ RowBox[{"P", "=", RowBox[{"Tile", "[", RowBox[{"[", "j", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "2"}], ",", " ", RowBox[{"i", "<=", RowBox[{"Length", "[", "P", "]"}]}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"MemberQ", "[", RowBox[{"Tile", ",", RowBox[{ RowBox[{"Mod", "[", RowBox[{ RowBox[{"P", "-", RowBox[{"P", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", "n"}], "]"}], "\[Union]", RowBox[{"{", "}"}]}]}], "]"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"Tile", "[", RowBox[{"[", "j", "]"}], "]"}], "=", "0"}], ";", RowBox[{"i", "=", RowBox[{ RowBox[{"Length", "[", "P", "]"}], "+", "1"}]}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"i", "++"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"j", "++"}]}]}], "]"}], ";"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"Tile", "=", RowBox[{"Drop", "[", RowBox[{ RowBox[{"Tile", "\[Union]", RowBox[{"{", "}"}]}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Tile", "]"}], "\[IndentingNewLine]", "Tile", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]"}]}]], "Input", CellChangeTimes->{{3.4326351116875*^9, 3.43263511434375*^9}}], Cell[BoxData["6"], "Output", CellChangeTimes->{3.432635123328125*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "18", ",", "28", ",", "44", ",", "54", ",", "64", ",", "80", ",", "82", ",", "98", ",", "108", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "18", ",", "36", ",", "54", ",", "64", ",", "80", ",", "82", ",", "98", ",", "100", ",", "116", ",", "118", ",", "134"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "32", ",", "54", ",", "58", ",", "76", ",", "86", ",", "90", ",", "108", ",", "112", ",", "122", ",", "140"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "22", ",", "38", ",", "54", ",", "58", ",", "74", ",", "76", ",", "90", ",", "92", ",", "108", ",", "112", ",", "128"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "26", ",", "44", ",", "58", ",", "62", ",", "76", ",", "80", ",", "90", ",", "94", ",", "108", ",", "112", ",", "126"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "58", ",", "74", ",", "76", ",", "90", ",", "92", ",", "94", ",", "108", ",", "110", ",", "112", ",", "126", ",", "128"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.43263512334375*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{"There", " ", "are", " ", "6", " ", "such", " ", RowBox[{"sets", ".", " ", "These"}], " ", "are", " ", "the", " ", "non"}], "-", RowBox[{"periodic", " ", "and", " ", "\[IndentingNewLine]", "normal"}], "-", RowBox[{ "form", " ", "tiling", " ", "complements", " ", "of", " ", "B"}]}], "=", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ".", "\[IndentingNewLine]", "This"}], " ", "is", " ", "a", " ", "subset", " ", "of", " ", "the", " ", "previous", " ", "162", " ", RowBox[{"sets", ".", " ", "\[IndentingNewLine]", RowBox[{"(", RowBox[{ RowBox[{"Remark", ":", " ", RowBox[{ "Thus", " ", "we", " ", "found", " ", "out", " ", "that", " ", "it", " ", "has", " ", "less", " ", "cyclotomic", " ", "divisors"}]}], ",", " ", RowBox[{ RowBox[{"so", " ", "that", " ", "B"}], "=", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], " ", "corresponds", " ", "to", " ", "Phi_", RowBox[{"{", RowBox[{"144", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}]}]}], ",", " ", RowBox[{ RowBox[{"while", " ", "B"}], "=", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "45", ",", "48", ",", "57", ",", "88", ",", "96", ",", "105", ",", "117", ",", "129", ",", "136"}], "}"}], " ", "corresponds", " ", "to", " ", "Phi_", RowBox[{ RowBox[{"{", RowBox[{ "144", ",", "36", ",", "18", ",", "16", ",", "9", ",", "2"}], "}"}], "."}]}]}]}], ")"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "Therefore", " ", "this", " ", "6", " ", "sets", " ", "tile", " ", "with", " ", "each", " ", "of", " ", "the", " ", "48", " ", "sets", " ", "in", " ", "the", " ", "equivalence", " ", "class", " ", "of", " ", "B"}]}], ",", " ", RowBox[{ "i", ".", "e", ".", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0", ",", "27", ",", "30", ",", "35", ",", "60", ",", "72", ",", "75", ",", "83", ",", "102", ",", "123", ",", "131", ",", "132"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "27", ",", "39", ",", "40", ",", "48", ",", "69", ",", "88", ",", "96", ",", "99", ",", "111", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "30", ",", "37", ",", "60", ",", "72", ",", "77", ",", "85", ",", "102", ",", "125", ",", "132", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "37", ",", "42", ",", "48", ",", "72", ",", "77", ",", "85", ",", "114", ",", "120", ",", "125", ",", "133"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "41", ",", "48", ",", "71", ",", "88", ",", "96", ",", "101", ",", "113", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "29", ",", "40", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "101", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "31", ",", "39", ",", "60", ",", "72", ",", "79", ",", "87", ",", "102", ",", "127", ",", "132", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "33", ",", "41", ",", "60", ",", "72", ",", "81", ",", "89", ",", "102", ",", "129", ",", "132", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "42", ",", "43", ",", "72", ",", "83", ",", "91", ",", "102", ",", "114", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "35", ",", "43", ",", "60", ",", "72", ",", "83", ",", "91", ",", "102", ",", "131", ",", "132", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "42", ",", "45", ",", "72", ",", "85", ",", "93", ",", "102", ",", "114", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "37", ",", "45", ",", "60", ",", "72", ",", "85", ",", "93", ",", "102", ",", "132", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "42", ",", "47", ",", "72", ",", "87", ",", "95", ",", "102", ",", "114", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "30", ",", "39", ",", "47", ",", "60", ",", "72", ",", "87", ",", "95", ",", "102", ",", "132", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "37", ",", "40", ",", "48", ",", "61", ",", "88", ",", "96", ",", "103", ",", "109", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "48", ",", "72", ",", "79", ",", "87", ",", "114", ",", "120", ",", "127", ",", "135"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "39", ",", "42", ",", "66", ",", "72", ",", "79", ",", "87", ",", "114", ",", "127", ",", "135", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "31", ",", "40", ",", "48", ",", "55", ",", "61", ",", "88", ",", "96", ",", "103", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "39", ",", "40", ",", "48", ",", "63", ",", "88", ",", "96", ",", "105", ",", "111", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "40", ",", "48", ",", "57", ",", "63", ",", "88", ",", "96", ",", "105", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "48", ",", "72", ",", "81", ",", "89", ",", "114", ",", "120", ",", "129", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "33", ",", "41", ",", "42", ",", "66", ",", "72", ",", "81", ",", "89", ",", "114", ",", "129", ",", "137", ",", "138"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "41", ",", "48", ",", "65", ",", "88", ",", "96", ",", "107", ",", "113", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "40", ",", "48", ",", "59", ",", "65", ",", "88", ",", "96", ",", "107", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "48", ",", "72", ",", "83", ",", "91", ",", "114", ",", "120", ",", "131", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "35", ",", "42", ",", "43", ",", "66", ",", "72", ",", "83", ",", "91", ",", "114", ",", "131", ",", "138", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "43", ",", "48", ",", "67", ",", "88", ",", "96", ",", "109", ",", "115", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "40", ",", "48", ",", "61", ",", "67", ",", "88", ",", "96", ",", "109", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "48", ",", "72", ",", "85", ",", "93", ",", "114", ",", "120", ",", "133", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "37", ",", "42", ",", "45", ",", "66", ",", "72", ",", "85", ",", "93", ",", "114", ",", "133", ",", "138", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "51", ",", "88", ",", "96", ",", "111", ",", "117", ",", "123", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "45", ",", "48", ",", "69", ",", "88", ",", "96", ",", "111", ",", "117", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "40", ",", "48", ",", "63", ",", "69", ",", "88", ",", "96", ",", "111", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "48", ",", "72", ",", "87", ",", "95", ",", "114", ",", "120", ",", "135", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "42", ",", "47", ",", "66", ",", "72", ",", "87", ",", "95", ",", "114", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "39", ",", "47", ",", "60", ",", "66", ",", "72", ",", "87", ",", "95", ",", "132", ",", "135", ",", "138", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "53", ",", "88", ",", "96", ",", "113", ",", "119", ",", "125", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "47", ",", "48", ",", "71", ",", "88", ",", "96", ",", "113", ",", "119", ",", "136", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "41", ",", "48", ",", "65", ",", "71", ",", "88", ",", "96", ",", "113", ",", "136", ",", "137", ",", "143"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "43", ",", "48", ",", "49", ",", "55", ",", "88", ",", "96", ",", "115", ",", "121", ",", "127", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "45", ",", "48", ",", "51", ",", "57", ",", "88", ",", "96", ",", "117", ",", "123", ",", "129", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "47", ",", "48", ",", "53", ",", "59", ",", "88", ",", "96", ",", "119", ",", "125", ",", "131", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "49", ",", "55", ",", "61", ",", "88", ",", "96", ",", "121", ",", "127", ",", "133", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "51", ",", "57", ",", "63", ",", "88", ",", "96", ",", "123", ",", "129", ",", "135", ",", "136"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "53", ",", "59", ",", "65", ",", "88", ",", "96", ",", "125", ",", "131", ",", "136", ",", "137"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "55", ",", "61", ",", "67", ",", "88", ",", "96", ",", "127", ",", "133", ",", "136", ",", "139"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "57", ",", "63", ",", "69", ",", "88", ",", "96", ",", "129", ",", "135", ",", "136", ",", "141"}], "}"}], ",", RowBox[{"{", RowBox[{ "0", ",", "40", ",", "48", ",", "59", ",", "65", ",", "71", ",", "88", ",", "96", ",", "131", ",", "136", ",", "137", ",", "143"}], "}"}]}], "}"}], "."}]}], "\[IndentingNewLine]", " ", "*)"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.43263512875*^9, 3.4326351403125*^9}, { 3.432635172234375*^9, 3.432635307828125*^9}, {3.4326353880625*^9, 3.432635395140625*^9}, {3.43263555971875*^9, 3.432635599515625*^9}, { 3.4326356473125*^9, 3.432635779765625*^9}, {3.43263763925*^9, 3.4326377320625*^9}, {3.432637779171875*^9, 3.432637795609375*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ "Therefore", " ", "we", " ", "have", " ", "a", " ", "full", " ", "classification", " ", "for", " ", "this", " ", RowBox[{ "case", ".", " ", "\[IndentingNewLine]", "\[IndentingNewLine]", "The"}], " ", "whole", " ", "thing", " ", "should", " ", "run", " ", "within", " ", "half", " ", "an", " ", RowBox[{"hour", ".", " ", "You"}], " ", "may", " ", "think", " ", "it", " ", "is", " ", "impresively", " ", RowBox[{"quick", ".", " ", "But"}], " ", "in", " ", "fact", " ", "some", " ", "of", " ", "the", " ", "procedures", " ", "are", " ", "really", " ", "slow"}], ",", " ", RowBox[{ "and", " ", "it", " ", "is", " ", "just", " ", "a", " ", "matter", " ", "of", " ", "luck", " ", "that", " ", "there", " ", "are", " ", "only", " ", "a", " ", "few", " ", "tiling", " ", "complements", " ", "every", " ", "time"}], ",", " ", RowBox[{"so", " ", "that", " ", "the", " ", "program", " ", "runs", " ", RowBox[{"quickly", ".", " ", "If"}], " ", "you", " ", "try", " ", "to", " ", "run", " ", "the", " ", "same", " ", "routines", " ", "for", " ", "other", " ", "partitions", " ", "of", " ", RowBox[{"SA", "'"}], "s", " ", "then", " ", "you", " ", "will", " ", "see", " ", "that", " ", "they", " ", "take", " ", "hours"}], ",", " ", RowBox[{"or", " ", "days"}], ",", " ", RowBox[{ "and", " ", "eventually", " ", "there", " ", "are", " ", "cases", " ", "when", " ", "you", " ", "would", " ", "not", " ", "finish", " ", "in", " ", "a", " ", RowBox[{"year", ".", " ", "That"}], " ", "is", " ", "why", " ", "i", " ", "improved", " ", "the", " ", "programming", " ", "routines", " ", "for", " ", "some", " ", "other", " ", RowBox[{"cases", ".", " ", "The"}], " ", "other", " ", "commented", " ", "file", " ", "that", " ", "i", " ", "sent", " ", "you", " ", "earlier", " ", "actually", " ", "contain", " ", "quicker", " ", RowBox[{"algorithms", ".", " ", "But"}], " ", "the", " ", "steps", " ", "are", " ", "the", " ", "same"}], ",", " ", RowBox[{ "only", " ", "the", " ", "programming", " ", "uses", " ", "simple", " ", "tricks", " ", "to", " ", "increase", " ", "speed", " ", "of", " ", RowBox[{"calculation", ".", " ", "\[IndentingNewLine]", "Now"}], " ", "you", " ", "should", " ", "go", " ", "back", " ", "to", " ", "that", " ", "file"}], ",", " ", RowBox[{"to", " ", "see", " ", "what", " ", "those", " ", "tricks", " ", RowBox[{"are", ".", " ", "\[IndentingNewLine]", RowBox[{"(", RowBox[{ RowBox[{"For", " ", RowBox[{"example", ":", " ", RowBox[{ "not", " ", "evaluating", " ", "a", " ", "full", " ", "Fourier", " ", "transform", " ", "each", " ", "time"}]}]}], ",", " ", RowBox[{"because", " ", "it", " ", "is", " ", RowBox[{"slow", ".", " ", "Instead"}]}], ",", " ", RowBox[{ "evaluate", " ", "only", " ", "some", " ", "relevant", " ", "values", " ", "of", " ", RowBox[{"it", ".", " ", "The"}], " ", "other", " ", "trick", " ", RowBox[{"is", ":", " ", RowBox[{"if", " ", "LCM", " ", "is", " ", "not", " ", "144"}]}]}], ",", " ", RowBox[{ RowBox[{ "then", " ", "we", " ", "end", " ", "up", " ", "with", " ", "a", " ", "lot", " ", "of", " ", "tiling", " ", "complements", " ", "right", " ", "at", " ", "the", " ", "beginning"}], ";", " ", RowBox[{ RowBox[{"therefore", " ", "the", " ", "fill"}], "-", RowBox[{"out", " ", "procedure", " ", "runs", " ", RowBox[{"slowly", ".", " ", "But"}], " ", "we", " ", "actually", " ", "know", " ", "from", " ", "C"}], "-", RowBox[{ "M", " ", "that", " ", "all", " ", "these", " ", "tiling", " ", "complements", " ", "look", " ", "like", " ", "a", " ", "certain", " ", "set", " ", "modulo", " ", "LCM"}]}]}], ",", " ", RowBox[{ RowBox[{ "and", " ", "each", " ", "element", " ", "shifted", " ", "by", " ", "multiples", " ", "of", " ", "LCM", " ", RowBox[{ RowBox[{"(", RowBox[{ "the", " ", "LCM", " ", "in", " ", "the", " ", "other", " ", "file", " ", "is", " ", "48"}], ")"}], ".", " ", "Therefore"}], " ", "we", " ", "run", " ", "the", " ", "fill"}], "-", RowBox[{"out", " ", "procedure", " ", "in", " ", "Z_", "48"}]}], ",", " ", RowBox[{"it", " ", "runs", " ", "very", " ", "quickly"}], ",", " ", RowBox[{ "and", " ", "then", " ", "we", " ", "shift", " ", "each", " ", "element", " ", "by", " ", "multiples", " ", "of", " ", "LCMin", " ", "each", " ", "possible", " ", "ways", " ", "to", " ", "generate", " ", "all", " ", "tiling", " ", RowBox[{"complements", "."}]}]}], ")"}]}]}]}], " ", "\[IndentingNewLine]", "*)"}], "\[IndentingNewLine]"}]], "Input", CellChangeTimes->{{3.43263780034375*^9, 3.4326383756875*^9}}] }, WindowSize->{963, 567}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, FrontEndVersion->"6.0 for Microsoft Windows (32-bit) (June 19, 2007)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[590, 23, 4308, 95, 452, "Input"], Cell[4901, 120, 466, 13, 30, "Output"] }, Open ]], Cell[5382, 136, 1819, 42, 152, "Input"], Cell[CellGroupData[{ Cell[7226, 182, 14838, 371, 1232, "Input"], Cell[22067, 555, 195, 4, 30, "Output"], Cell[22265, 561, 72, 1, 30, "Output"] }, Open ]], Cell[22352, 565, 401, 8, 52, "Input"], Cell[CellGroupData[{ Cell[22778, 577, 3076, 75, 352, "Input"], Cell[25857, 654, 71, 1, 30, "Output"], Cell[25931, 657, 11429, 302, 582, "Output"] }, Open ]], Cell[37375, 962, 820, 19, 92, "Input"], Cell[CellGroupData[{ Cell[38220, 985, 28748, 731, 2732, "Input"], Cell[66971, 1718, 242, 5, 30, "Output"], Cell[67216, 1725, 93, 1, 30, "Output"], Cell[67312, 1728, 91, 1, 30, "Output"], Cell[67406, 1731, 496, 13, 30, "Output"], Cell[67905, 1746, 324, 9, 30, "Output"], Cell[68232, 1757, 416, 11, 30, "Output"] }, Open ]], Cell[68663, 1771, 4722, 100, 432, "Input"], Cell[CellGroupData[{ Cell[73410, 1875, 9490, 251, 952, "Input"], Cell[82903, 2128, 116, 2, 30, "Output"], Cell[83022, 2132, 2409, 64, 126, "Output"], Cell[85434, 2198, 118, 2, 30, "Output"], Cell[85555, 2202, 117, 2, 30, "Output"], Cell[85675, 2206, 9207, 243, 468, "Output"] }, Open ]], Cell[94897, 2452, 16380, 375, 912, "Input"], Cell[CellGroupData[{ Cell[111302, 2831, 15582, 398, 1132, "Input"], Cell[126887, 3231, 219, 4, 30, "Output"], Cell[127109, 3237, 95, 1, 30, "Output"] }, Open ]], Cell[127219, 3241, 276, 6, 72, "Input"], Cell[CellGroupData[{ Cell[127520, 3251, 2276, 61, 272, "Input"], Cell[129799, 3314, 71, 1, 30, "Output"], Cell[129873, 3317, 30507, 760, 1551, "Output"] }, Open ]], Cell[160395, 4080, 4295, 98, 272, "Input"], Cell[CellGroupData[{ Cell[164715, 4182, 14114, 364, 992, "Input"], Cell[178832, 4548, 196, 4, 30, "Output"], Cell[179031, 4554, 69, 1, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[179137, 4560, 2247, 60, 292, "Input"], Cell[181387, 4622, 70, 1, 30, "Output"], Cell[181460, 4625, 1213, 30, 69, "Output"] }, Open ]], Cell[182688, 4658, 13036, 307, 712, "Input"], Cell[195727, 4967, 5259, 98, 432, "Input"] } ] *) (* End of internal cache information *)