Generated on Thu Apr 11 13:58:53 2019 for Gecode by doxygen 1.6.3

sudoku-instances.hh

Go to the documentation of this file.
00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
00002 /*
00003  *  Main authors:
00004  *     Mikael Lagerkvist <lagerkvist@gecode.org>
00005  *     Guido Tack <tack@gecode.org>
00006  *     Christian Schulte <schulte@gecode.org>
00007  *
00008  *  Copyright:
00009  *     Mikael Lagerkvist, 2005
00010  *     Guido Tack, 2005
00011  *     Christian Schulte, 2005
00012  *
00013  *  This file is part of Gecode, the generic constraint
00014  *  development environment:
00015  *     http://www.gecode.org
00016  *
00017  *  Permission is hereby granted, free of charge, to any person obtaining
00018  *  a copy of this software and associated documentation files (the
00019  *  "Software"), to deal in the Software without restriction, including
00020  *  without limitation the rights to use, copy, modify, merge, publish,
00021  *  distribute, sublicense, and/or sell copies of the Software, and to
00022  *  permit persons to whom the Software is furnished to do so, subject to
00023  *  the following conditions:
00024  *
00025  *  The above copyright notice and this permission notice shall be
00026  *  included in all copies or substantial portions of the Software.
00027  *
00028  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00029  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00030  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00031  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00032  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00033  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00034  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00035  *
00036  */
00037 
00038 namespace {
00039   extern const char* examples[];
00040   extern const unsigned int n_examples;
00041   int example_size(const char *s);
00042   int sudokuField(const char *s, int n, int i, int j);
00043 
00052 
00054   const char* examples[] = {
00055     // 0
00056     "...2.5..."
00057     ".9....73."
00058     "..2..9.6."
00059     "2.....4.9"
00060     "....7...."
00061     "6.9.....1"
00062     ".8.4..1.."
00063     ".63....8."
00064     "...6.8..."
00065     ,
00066     // 1
00067     "3..9.4..1"
00068     "..2...4.."
00069     ".61...79."
00070     "6..247..5"
00071     "........."
00072     "2..836..4"
00073     ".46...23."
00074     "..9...6.."
00075     "5..3.9..8"
00076     ,
00077     // 2
00078     "....1...."
00079     "3.14..86."
00080     "9..5..2.."
00081     "7..16...."
00082     ".2.8.5.1."
00083     "....97..4"
00084     "..3..4..6"
00085     ".48..69.7"
00086     "....8...."
00087     ,
00088     // 3
00089     // Fiendish puzzle April 21 2005 Times London
00090     "..4..3.7."
00091     ".8..7...."
00092     ".7...82.5"
00093     "4.....31."
00094     "9.......8"
00095     ".15.....4"
00096     "1.69...3."
00097     "....2..6."
00098     ".2.4..5.."
00099     ,
00100     // 4
00101     // This one requires search
00102     ".43.8.25."
00103     "6........"
00104     ".....1.94"
00105     "9....4.7."
00106     "...6.8..."
00107     ".1.2....3"
00108     "82.5....."
00109     "........5"
00110     ".34.9.71."
00111     ,
00112     // 5
00113     // Hard one from http://www.cs.mu.oz.au/671/proj3/node5.html
00114     ".....3.6."
00115     ".......1."
00116     ".975...8."
00117 
00118     "....9.2.."
00119     "..8.7.4.."
00120     "..3.6...."
00121 
00122     ".1...289."
00123     ".4......."
00124     ".5.1....."
00125     , // Puzzle 1 from http://www.sudoku.org.uk/bifurcation.htm
00126     // 6
00127     "1..9.7..3"
00128     ".8.....7."
00129     "..9...6.."
00130     "..72.94.."
00131     "41.....95"
00132     "..85.43.."
00133     "..3...7.."
00134     ".5.....4."
00135     "2..8.6..9"
00136     , // Puzzle 2 from http://www.sudoku.org.uk/bifurcation.htm
00137     // 7
00138     "...3.2..."
00139     ".5.798.3."
00140     "..7...8.."
00141     "..86.73.."
00142     ".7.....6."
00143     "..35.41.."
00144     "..5...6.."
00145     ".2.419.5."
00146     "...8.6..."
00147     , // Puzzle 3 from http://www.sudoku.org.uk/bifurcation.htm
00148     // 8
00149     "...8....6"
00150     "..162.43."
00151     "4...71..2"
00152     "..72...8."
00153     "....1...."
00154     ".1...62.."
00155     "1..73...4"
00156     ".26.481.."
00157     "3....5..."
00158     , // Puzzle 4 from http://www.sudoku.org.uk/bifurcation.htm
00159     // 9
00160     "3.5..4.7."
00161     ".7......1"
00162     ".4.9...3."
00163     "4...51..6"
00164     ".9.....4."
00165     "2..84...7"
00166     ".2...7.6."
00167     "8......9."
00168     ".6.4..2.8"
00169     , // Puzzle 5 from http://www.sudoku.org.uk/bifurcation.htm
00170     // 10
00171     "...7..3.."
00172     ".6....57."
00173     ".738..41."
00174     "..928...."
00175     "5.......9"
00176     "....936.."
00177     ".98..715."
00178     ".54....6."
00179     "..1..9..."
00180     , // Puzzle 6 from http://www.sudoku.org.uk/bifurcation.htm
00181     // 11
00182     "...6....4"
00183     ".3..9..2."
00184     ".6.8..7.."
00185     "..5.6...1"
00186     "67.3.1.58"
00187     "9...5.4.."
00188     "..6..3.9."
00189     ".1..8..6."
00190     "2....6..."
00191     , // Puzzle 7 from http://www.sudoku.org.uk/bifurcation.htm
00192     // 12
00193     "8....1.4."
00194     "2.6.9..1."
00195     "..9..6.8."
00196     "124.....9"
00197     "........."
00198     "9.....824"
00199     ".5.4..1.."
00200     ".8..7.2.5"
00201     ".9.5....7"
00202     , // Puzzle 8 from http://www.sudoku.org.uk/bifurcation.htm
00203     // 13
00204     "652.48..7"
00205     ".7.2.54.."
00206     "........."
00207     ".641...7."
00208     "....8...."
00209     ".8...456."
00210     "........."
00211     "..86.7.2."
00212     "2..89.751"
00213     , // Puzzle 9 from http://www.sudoku.org.uk/bifurcation.htm
00214     // 14
00215     "..6..2..9"
00216     "1..5...2."
00217     ".473.6..1"
00218     ".....8.4."
00219     ".3.....7."
00220     ".1.6....."
00221     "4..8.321."
00222     ".6...1..4"
00223     "3..4..9.."
00224     , // Puzzle 10 from http://www.sudoku.org.uk/bifurcation.htm
00225     // 15
00226     "..4.5.9.."
00227     "....7...6"
00228     "37......2"
00229     "..95...8."
00230     "..12.43.."
00231     ".6...92.."
00232     "2......93"
00233     "1...4...."
00234     "..6.2.7.."
00235     , // Puzzle 11 from http://www.sudoku.org.uk/bifurcation.htm
00236     // 16
00237     "....3.79."
00238     "3.......5"
00239     "...4.73.6"
00240     ".53.94.7."
00241     "....7...."
00242     ".1.82.64."
00243     "7.19.8..."
00244     "8.......1"
00245     ".94.1...."
00246     , // From http://www.sudoku.org.uk/discus/messages/29/51.html?1131034031
00247     // 17
00248     "2581.4.37"
00249     "936827514"
00250     "47153.28."
00251     "7152.3.4."
00252     "849675321"
00253     "36241..75"
00254     "1249..753"
00255     "593742168"
00256     "687351492"
00257     ,
00258     // 18
00259     // The following minimal 25*25 Sudokus are from Alain Frisch
00260     // Sudoku website http://www.eleves.ens.fr/home/frisch/sudoku.html
00261     "...G...9..4.....6F..L8..."
00262     "CEIN.HDM.OF.1L..A..9PJ.4."
00263     ".....A...L..JBN.2.D.1...H"
00264     "P49...JB23.AD..7E..C5F..."
00265     "A1H....F.N5....I.BL...26."
00266     "....7..C.6...H4B..1....I5"
00267     ".F.P...I..B..7.5.L...9..."
00268     ".L6A...5OF.8P...K.NE..734"
00269     "B2.E..L...1J.5....O7.K.AP"
00270     "O.5.CB1.P....3EM....2L.H."
00271     "2..MJ.A...9.3.7......P.8C"
00272     ".....CF.DPG62N.E...OH.M.J"
00273     ".DL..OM..IE.B8..NH...3..K"
00274     ".CO1F.B.N.AH..P.78.JE...D"
00275     "E..6.....H......4M.KIB9.."
00276     "N.J..6......C..1.5.G..H.."
00277     "...75LG...6..1..CI..4.E.."
00278     "9K..6.....HGN.O2P.4......"
00279     ".OA..IP849...2.K3...7GN.."
00280     "..G....N...P.D9....A...C1"
00281     "J...M.NAFE.4..23.7....8L."
00282     ".....J.H9CD1LP..GO....4ME"
00283     "48NK..5.M......JL.......9"
00284     ".I.OG....835.A.DH..P....."
00285     "35......L.J..E....8IG.67B"
00286     ,
00287     // 19
00288     ".N..JG..O7591...8I....L.."
00289     "FG.M.B8...P.E...CJ..H...."
00290     "...........G.4.H.D.O.NJA2"
00291     ".....J.EN4.L6MA.B.2......"
00292     "HE..2..DC.....F4KMA.B.9O8"
00293     "M....62...47C19......E5.."
00294     ".I2.8M.JGL...ADN..K..3.F7"
00295     "..H3.5..89....I.J.....NL."
00296     "1B..9.FAP.6.N....537.H..O"
00297     "......1..N...O...LC.68.PG"
00298     "KOA.FNBH.....7.C.....M..6"
00299     "45.ECP.I..N.F.J1...MK.79."
00300     "I.L..8.O..9.P...A...2.1J."
00301     "..621.D.M.....B8LG..P..CH"
00302     ".HP.N7E.L1....3..B..O.G45"
00303     "....BIO....5.C.P...FN48E."
00304     "...FL.....2.DH..17..59O.."
00305     "..I.MF..2G.N...A6O.HC.PB."
00306     "72.1..L...IM.96E.45G....."
00307     "..9...7M..A.O...I...L...."
00308     ".C.JA.........1.....E.48."
00309     "O.BI.......PHL.6..1....5C"
00310     "G6M...N4FI8...K..H.E....."
00311     ".L..4.917....BE.G8F.M.I.."
00312     "8F......5.O3..4...9.....K"
00313     ,
00314     // 20
00315     "5.PC..7..J..I...3..H.M.2L"
00316     "H.......F..DA..N.G...9..P"
00317     "...3LCP2.54.71.B....J.8.."
00318     "76M8...3A...H..C.D.FO...."
00319     "...DK..GI..B.L.6.8.14...."
00320     "A......M....D.6.N.P....O2"
00321     "...E5BLF..92..3AJC..6I..."
00322     ".PNJ.6..E7A.8..IM.OL1.G.C"
00323     ".L3...O.N.5.KI.46.....9E."
00324     ".I.G.A..28.MBP...E..HJ3.7"
00325     "J.74.L..D1O96.A3.M...GI.."
00326     "E...1...K....J...P6.7.C.9"
00327     "8M..A9JO.F.P..1...4.E3N6."
00328     "...I.3.7.......EL.CD..H.."
00329     "....DE2..P...N.........K."
00330     ".O.7.FKI1..GJ.N.....9.P8."
00331     ".89..H..BNM73D.KFJ..I.6.A"
00332     "PDBN...9M..C.....O.6..7.."
00333     ".F.K...4..LA9B..C.E75..GN"
00334     "G.A.....7.8.....H....O.3."
00335     "B...C...4......8K.3.P...."
00336     "DHE5..FA...J.3..B.2.KC.98"
00337     "...F...5....N..J9......I."
00338     ".J...P..O.BK....I.M.3..5."
00339     "9...8.B.6.D.M.I..H.5G.J4."
00340     ,
00341     // 21
00342     "..6F.....5..3.....H..A.M2"
00343     ".....3....I8.A.MC.KJ.LNG."
00344     ".I.7N..K.2..6...3D..B.O85"
00345     ".3A.PF.D8OBK7.2....L6.9H4"
00346     ".K..CBML.....O.A8.G4.D..."
00347     "1.4.AGL..M5..F.O.9....P2."
00348     "..I.........8......N4E..."
00349     "J.C8.1.6.3.LO.K7AG2P9.H.."
00350     ".2.3BH..9.A...G......O..L"
00351     ".H..M8.J.....NI1.LEF....B"
00352     "I5..4.....G.27..K..3.M..H"
00353     "P..E..I.A..3B.8....G.2..."
00354     "AJ......NFK.I.O9476..G.1."
00355     ".976...E3H....M5.F......O"
00356     ".F.M3.5.GKC4.HJ.N.....ID7"
00357     "..L1K..9.J37.ID..B..E6..."
00358     ".82OH.1..PNML...E..C...J."
00359     "....JLFN.B..G..6M..H..D.9"
00360     "...C.A...I.6.......K.5..."
00361     "E.G.I.....O....J.8F......"
00362     "..M4..9.D.7.K.FE.3O......"
00363     "H.N.....14E..B3L..8I...AG"
00364     "K.O.62.PM...N..H...18C.9."
00365     "LC..8.3...2...H.G...J..4E"
00366     ".B..9NK.E....C6.P.4D.71OI"
00367     ,
00368     // 22
00369     "A..F.N......M28DC.LI7..OJ"
00370     "..B...D.M.6....9.....2A.."
00371     ".2..I.56.B...J.MEH......."
00372     "O7...HE...BA..G2........L"
00373     ".H6J.2...G.7NDP.A...8..C."
00374     ".PN35..B..869.2.GA..K.C.."
00375     "....EM13OD.N...49K...7..."
00376     "9G..C....IJF5.B..7.3....."
00377     "HD.....JN....7...EF....9."
00378     "1.OA..G.KL....H..B.CP...."
00379     "..CE.......2..9I....3...."
00380     "FJ..83P.E..K7.NL15H..I2.."
00381     ".4..GJ...6DIB...P...AHL.C"
00382     ".1I.2.M....83.F..4.NBE..."
00383     "L3M.OD.H.AG..4.....69...F"
00384     ".8...5H.3.....M...D..K..4"
00385     "3..4..AEDO7J...5..9..G1.."
00386     "..2N9.8F.P.OIGC.L6..E.H.."
00387     "C...1.7..K.L6.4EO.8.5...N"
00388     ".IG.H..M..E...1A2N4..8.F."
00389     "6..5J..N1...2..H.IGA...P8"
00390     ".L...O...H...C....M5G..A."
00391     "..F...3C.7.P..5N..B..DMH9"
00392     "291D..6..M..H.7.3.J.N..B."
00393     "....MK..29F.G.DO4...6.E35"
00394     ,
00395     // 23
00396     "....B12O3..D..F..KPL.E4.7"
00397     "1M..GL..H..K.A.....39.P.."
00398     ".8.3.4.....7..6.F.....CK."
00399     "P.O...758.2..MC.....1L.A."
00400     "...HFK6.A..8...9B...2...J"
00401     "91.KJE..L.5O..GD.....4..."
00402     ".I..3..D.2.....C4MLAK..N."
00403     ".4..6IA.P7.....B9......3."
00404     "M.F...4.J...8....N.H.1G7."
00405     "..5P.N.....C.731.I.E.9A.."
00406     ".....GO.KDL......BA......"
00407     ".3A..F...9..K.EI5.7..6.DN"
00408     ".G.54.L.....PH..3F6....2."
00409     "....P.....G..2D.OH.1B...C"
00410     "6.EM.7N....3.B4..DC..K1P."
00411     "B.9.....I..5N...7OGK...46"
00412     "OF.GD6HP..JM..BA8.I.C...."
00413     "8.L7...........P.3M5...92"
00414     ".EM.....45IF7....2.CJ8DL."
00415     ".6.4.8..NA.2......9....GI"
00416     "2..A1DCN..3G.F5.L..I..O6H"
00417     "..BIO..1.H.L...G........."
00418     "C.P.....M8.9O..5A..N.JK.D"
00419     "H...N...FOA4..73....5..CM"
00420     ".D4..3...6BE..N.2JH8..L.."
00421     ,
00422     // 24
00423     "LJ.FH2...K....359.E.B6.N."
00424     "...EML1FC.PJ.A.8I....2.K4"
00425     "9........G1..6..K...PAL3C"
00426     "P...C34..8.N7.........DE."
00427     "...7....E..IO...124.J5.F."
00428     ".8.L.PA.2..31FG....N..C.I"
00429     "F.G......M........2.K..1."
00430     "....2KH6.JOD..9.L..G...B."
00431     ".6O3..G...4.NJ.H.PB...5.9"
00432     "I...K..LBN...E.76.A....8."
00433     "D.B.L......8.3.C.KM.6...."
00434     ".C593.I.N4.26MB..1..L.K.."
00435     "M.F6......DA45.9..N.I3..B"
00436     ".G..79.H...KJ...4...AN.2."
00437     ".KH...BC....LON..7..D.8.F"
00438     "2..B...MP....7OEJ4....6.1"
00439     ".4....2O.9......N..1....G"
00440     ".....G.JF.2..L.6.5......."
00441     "C9A.G...H1...PJ..L.3.8.MN"
00442     "...1......M.....O.P8.K3J."
00443     "...N.HP.K25G3..JC8..1M..."
00444     "..2K.FC34.A....N7..9.LB.."
00445     "..65DJ..L..C.4.1...BGF..."
00446     "OF..E..7.B.......634...D."
00447     "G.3..N.I9D7PM8KF2....4..."
00448     ,
00449     // 25
00450     ".1..I8.P..6.N...BD...3O.."
00451     ".9.6...E.M43.8..AK.2J.1.."
00452     "...JKL...FA...P.I4...DB.."
00453     "E...P.I.B.7.1..J.HC...98."
00454     "..5M8GJ.KD.O...N3..1AI..."
00455     "K.2C4.M.N..J..I.......H.5"
00456     "N..B9O.D...KH6.E...C...7I"
00457     "DE..JK4.....L.1B7..68PN2."
00458     ".....P...C..F.7...L.O9..."
00459     "...35.H......92..M.4.EC.1"
00460     "P..IL..H.........1..3.D.."
00461     "....B9..8.3I5.C...K...F1."
00462     "FH....2O..D.4M.P...A...GC"
00463     "JA.......KF.......4.EOMIP"
00464     "3.7GNF...A.2OB9C.E5.HJ..."
00465     "2.I.1.......AO5.P...K.3.."
00466     "..H....L..M.CIJ..7...4..."
00467     "GO.9..KF.I.P3...E.HJ...N7"
00468     "5.37...B.E...4N..O.8....."
00469     "4B...7.9O.HL..E2C3.K51.M."
00470     "L.O42...D..AJ.8...GH.N..E"
00471     "9M.8.H..LG1..N..5.E..F7B."
00472     "......FAC..5M..I6J.B4...G"
00473     "...F..82..P.E......36HK.L"
00474     "B.J.G5...O.H2..98.7......"
00475     ,
00476     // 26
00477     ".CNPHK.53.O9F..D.78..J..."
00478     "J.....F.DB...7.G..PAE...L"
00479     ".6.........5.4A......I..."
00480     "A..L.6.E.1JG....5.H.2...9"
00481     "..G4..P...E2N.M...C..FB.1"
00482     "..PKJ...G41O..C.N..H....."
00483     ".M..I5L97J.3H...E2.8...D."
00484     "1.4..ON.83G.P.D59..C.BH.."
00485     "..2.9.......4.F.3.6..O.7."
00486     "3F.7.MEC..5...2..4K.LN8.."
00487     "...I........MF7.6AOG..LE."
00488     "C1.3..JG..D.9...4..N...68"
00489     "...M7L9..NHA...FJ.I..3.C."
00490     ".A...P...5...E3.8M..K4OFG"
00491     ".....C.6KIP...8..3.DJ...."
00492     ".2.J...3C..7.D.9A.EF6L..."
00493     "4...3.6N.....L9.H..P8...2"
00494     ".9.C.4H.......P....1..FJ3"
00495     ".LD.K87.1.BM5AJN....4H.G."
00496     ".B..MAI........47O.LD...."
00497     ".G....3....F..1..9..M..K6"
00498     "P7.A..B8.......2....I.3.."
00499     "M..O....9K2..6..1.N.FE.L."
00500     "....E...A..N.J.IG8...C.9."
00501     "6KL.4...FCI.A.....5J.2D.N"
00502     ,
00503     // 27
00504     "E..I...M......L....D...BK"
00505     "F..BH9.K.A2.7..E4.P.6..M."
00506     ".6.J..PD8FE.IM...K...54.."
00507     "L...8E...IA..HC........7J"
00508     ".....7H.4.JK..DOFC....9I."
00509     "9...7A.5.B.M34E.KDJ8....."
00510     "8...BD....O..7....CP.E.6."
00511     ".1.3..8....D...2.ML.B..5A"
00512     ".E2.A.O.7..1..I.659..8LD."
00513     "KF..M2...PL......A.G..N3."
00514     "...76N.1..CBG...DPK..O.J2"
00515     ".JK...6B.9..P.7.N.EMFDG.5"
00516     "N....G.F.8....OH9.2...E.7"
00517     "....4.3....F9.....5.NC.A."
00518     "M.A.GL.J......5..4.7.91.."
00519     "C.8NE.5..6..M.....BJ17..H"
00520     "7.6...NL.41.AC.I8...GJ3.."
00521     "...53P.GM2.L..F.....K.68."
00522     "J.4.D..H..IG..8K..35.N.FL"
00523     "P.F...93.D.....A.1......M"
00524     "..7.I...1...DF..PJ.4.MA.."
00525     ".KN.....5H..O.63.E.2....4"
00526     "....1...O..A2..DCH8B..KE."
00527     "3.HA.6BP.....J1957O..28.."
00528     "42JO.I...K5C......6.P.B.."
00529     ,
00530     // 28
00531     "...G87..O..F.N..CH6..D..2"
00532     "C16..N....DL.3.E........."
00533     ".LN.EK..D..O.G6.412....5H"
00534     "K...2........59M...P..3.."
00535     "..A9.M.6....8.E7O3..K..LB"
00536     "7..8B.1.EP.....4.L.6.C.9."
00537     ".3.6...9.85.A2F.....B.EP."
00538     ".D4K.L..NA....C.M.E..7..."
00539     "L..P.3H.CG.7....DKF..I6.."
00540     "5EH.G.7.6.1....J....D3K.O"
00541     ".6.....G.K.E..I2.4J......"
00542     "..ICFP.8H7.2.O.B.NM5..G.."
00543     ".M..D9..BE..J..F..I7..LAK"
00544     ".BE.L...31.M7FK..C9..8.DN"
00545     ".2O......D38C...E...F.P.."
00546     ".A.....M..NB..3.J.7E8..2."
00547     "...O...B..6..C.8KG4..5D7M"
00548     "....M8..I..9..AL1.O.3HBNG"
00549     ".C..4....L.....D.F......."
00550     "J..5NF..G...H..6..C..1..."
00551     "D..N..O....G9.J.A..I...8."
00552     ".F.H1BN.K.O.4.8.6.3.9.M.."
00553     "B...I....9K..6..2...G.H1."
00554     "O...7.CJMI25N...HDKBPFAE."
00555     ".....28.F..C........O.JK."
00556     ,
00557     // 29
00558     "9.K..6D.I5...........H..."
00559     ".I.E..BK...GN...6.L...3.."
00560     "7....2..L8E.K.D1.P5I.6..A"
00561     "..N.LEH.A32..CM9........."
00562     "..2....9N...3.IC...J.KF8."
00563     "......GA..C.7JPNI3....6L."
00564     "....E.J.8K..I.....97NG2.B"
00565     "O7..3HI...M.....DCF5..914"
00566     "L.M.4.3.19.D..2......F.K."
00567     "B....F...O9.6ANG.2.PH.E.5"
00568     "8KDM...5.1....G......P..6"
00569     ".4.H.L.C..J2....G..3ION.."
00570     "C.A..J..E...1K......92.5."
00571     ".9O.NP.2...IA....H..G..7."
00572     "...I5..O.N4.H...2DCKJ...E"
00573     "56....1.D..AJ.....7.L.O.."
00574     "K.8.H.7.9.5....AC..O..G6F"
00575     "3..........O..C.F.P6K.5.."
00576     "...OC.4J2.3E.9...N.H7..P1"
00577     ".B.7.K.....6.MH.LJ..A...."
00578     "I..4.........P..E7D9O.B.H"
00579     "E.3G.OP...I1CBL..FN4..82."
00580     ".A..9N.8.E...73O..H....4."
00581     ".M.C.3....DK..EI......JG."
00582     ".HP..D..FB...NO.1KJ8.AL.."
00583     ,
00584     // 30
00585     "....L.1.8H.CO..P....FA..."
00586     "P1.2.4CO...K..A..3H8...7."
00587     "I..H.G.5.B.6.M..A24.K..9."
00588     "....6I.KF9..5.P.J1.BDCE.M"
00589     ".A....2...F..L..E.M.6.5O3"
00590     "7..1.C...8.L9..4P.5.G.K.."
00591     "JO.5H.M2.I.7.F.6D..A4..NE"
00592     "E.3.NO....K2...LG..7JM..."
00593     ".9F.CJ.H....A.NKB.1..2.5."
00594     "2LB...5..7.P36H.M..N...1D"
00595     ".....P..B....46.HJ......."
00596     "B4..7LI.C.GD2...KA.3H...."
00597     "K5......6J1.........27O8P"
00598     "LP...5K.G..JB3.......1.M."
00599     "..EG...4.F.NKC...O..9.B.."
00600     "..MI...D32AGP..5O...74.BN"
00601     "FC74.....1..LO..8...5.D.J"
00602     "..JN....H...E.I...DPA3.6."
00603     "AE.......O3F..5.........H"
00604     "...8..6......24.9G....I.1"
00605     ".M....8.9..O1.F.C.EL3...A"
00606     ".N...E.3.....I7M1...ODG.K"
00607     "1......P.N9..D..5........"
00608     ".I.P..FGOCMA.......J.5..2"
00609     ".GK....7...3.....92..B.L4"
00610     ,
00611     // 31
00612     "...H....GKM.43..B.D......"
00613     "15I.C....8B.6D.7G....A.H4"
00614     ".7...F..B...J.E16.N....3."
00615     "...D.1...6L7.H.5K....P98F"
00616     "KJ.AF.5CHO...NP2M.....B.."
00617     "4..K..I9.M.DNP..A.3..E5O6"
00618     "PGC...HE.....I5..M...7..J"
00619     ".B.EJ..G.5..L....D.48.2.."
00620     ".D....N.4.J.2A..H..5..F1."
00621     "8....AJLD.7..OM...1B....P"
00622     "CH...N..7.........B3....."
00623     "I..O.JL..P5...3......KH.8"
00624     "D.259.E......6.......L3.."
00625     "...3K6.B.AE..74N25H..G1.."
00626     ".L.B..41.HC...G.OIP8..MN7"
00627     ".........2.C.4.L....69.I5"
00628     "N...7.C...69.5.A......PKL"
00629     "....L.G...13.BOMP.82..D7H"
00630     "...C.H..5.P.E.K...I7....."
00631     "JO..P.96ABI8.....C..N..4G"
00632     ".NA8H.32..O4..IB..L9G..J."
00633     "..4.GD..M.3..27INJ.O....."
00634     ".C9L..A..J.....6.2..I..F."
00635     "BK...4..F.A.CL..87.1.O.M."
00636     "6..P.I.5...M..N....F....D"
00637     ,
00638     // 32
00639     ".6OL.3GB.I.1F.EP..9..24.."
00640     "..1.P.....K....N.2.....ID"
00641     "2.8.K7..J...6..1F.......A"
00642     "...D.8.4..29..LJ7.HMKPF.."
00643     "..I.9N...A..P.M.DK...E5.."
00644     "94.N...5..F..E.C182..BG3."
00645     "8D..3HC....6G.....P.F.72I"
00646     "C..I.E.7D....8BG.F...6..."
00647     "......L....N.24..I..1K.DJ"
00648     ".27HG.NF......I..L..E.A.."
00649     "L...N.I8F6.H.9K.3O..B..5P"
00650     ".9...L..25.B14F.N.JE...7K"
00651     ".1...9B....GJ.8.A.5C....."
00652     "....CPK..J....5.M.7.6.H.3"
00653     "..F7..3..O..N..B8....421."
00654     "AM.8....P...71..26N...3G."
00655     "P....D.2.78.O..5CJ.GA.BH."
00656     "6..4.F...3...K9A..1...J.M"
00657     ".I2.E......JM.N...B98..P."
00658     "FC..7..6.EI.D.G...3H5..KN"
00659     "I8NO.4F.9..DB....5......."
00660     "5..1...G3.MIH.A.9..N....."
00661     "KG.62..1.....L3.....IJE.F"
00662     "....D.6.AC4.9.....OL.HP.."
00663     "..EA.5O.L.6.......D...9N."
00664     ,
00665     // 33
00666     ".CH3.L..D4F..I.........1."
00667     "G..K.....7.O.......L.42N."
00668     "A.D...5O8B...39G.4..I...L"
00669     "1E2OB....A8N..6FCD9.H...G"
00670     "IN..4..3.....J..5OM....9."
00671     "...JEMP..9G8..D7......BA."
00672     "B.M9..L....6...2.FI.KJ..."
00673     ".LN.386A..BH....O.J.2..7."
00674     "7A6..2..3N.....4KP..G8HIC"
00675     ".1.....J.CK3....HB..5L4.."
00676     ".H......P.I.57....G..21B4"
00677     "....7.....EP1....3.2..A.."
00678     ".59.1FI.L8.MJG.B..AH....E"
00679     "NI..D....O3K..A.P9..8F..."
00680     ".O....A..E2.8.HN.J7.P...."
00681     ".MC..P....H2...A7..ID...1"
00682     ".6.....M.J.14.BDG.3.O9F2."
00683     ".......CG.........4...M.."
00684     "HDL...8N7.......FK2C.E..B"
00685     "..KP2I.F.3...N7J.E.6..L85"
00686     "D.E...C.4.7B..I....A.1..M"
00687     "J..M..7..D.A..4...ONBG..2"
00688     "9.7.6..K..P..O....D...8.."
00689     ".2IN..GE1.D..8...MK.CPJH."
00690     "FG..8B.2.L..KH.....1.5E..",
00691 
00692     // 55 16x16 instances (mostly harmless) from janko.at
00693 
00694     // http://janko.at/Raetsel/Sudoku/301.a.htm
00695     // 34
00696     "D92.....G...43.."
00697     "4CF.....9D.2.6EB"
00698     ".E.1....F.8BC..A"
00699     "G56.....A3C....1"
00700     ".7G5A8....61...."
00701     "2...C....B7....."
00702     "..AE.964..G....."
00703     ".F9.5.7.4......."
00704     ".....29....A.C.."
00705     "........645D.1.."
00706     "....D....1.C.B7F"
00707     ".....E.C2G...8A9"
00708     "B..9.G52.....EF6"
00709     ".256..F.....D.B."
00710     "E13.6.D........7"
00711     "A...8BC3....954."
00712     ,
00713 
00714     // http://janko.at/Raetsel/Sudoku/302.a.htm
00715     // 35
00716     ".DG1.C.BE..3.4.A"
00717     "..7B.62..41...59"
00718     ".......D.....G.."
00719     "..49.7.3.B6..FD."
00720     ".9..G...C......4"
00721     "G..46....9F.3.B."
00722     ".C5.1...BE.86..G"
00723     ".B.....E2G...D.."
00724     "..3...596.....1."
00725     "F..C2.76...B.E3."
00726     ".1.8.4D....7F..5"
00727     "E......F...D..9."
00728     ".AB..FG.1.3.C8.."
00729     "..2.....F......."
00730     "8F...BC..62.97.."
00731     "1.6.A..59.C.GB2."
00732     ,
00733 
00734     // http://janko.at/Raetsel/Sudoku/303.a.htm
00735     // 36
00736     ".....D.3..7F.A.."
00737     "...B1.F8....26.."
00738     ".F.3...6D..AC..."
00739     "AGC.9.5..8....BD"
00740     "E.FG5...7...A.9."
00741     "2.7.....89A36.F5"
00742     "...1.9...CBE...."
00743     ".3....A.....BG2."
00744     ".1B2.....7....6."
00745     "....B16...3.9..."
00746     "5D.4F3EA.....2.B"
00747     ".E.A...9...D83.C"
00748     "4A....B..E.8.FC9"
00749     "...EA..G1...D.4."
00750     "..GC....FD.B1..."
00751     "..D.47..6.C....."
00752     ,
00753 
00754     // http://janko.at/Raetsel/Sudoku/304.a.htm
00755     // 37
00756     "....9...5...3B.."
00757     "...D13.7.4.....F"
00758     "637...2..81AC9.."
00759     ".2G..5.......18D"
00760     "...F4...3...8C.."
00761     "E.D.7..6..G...A5"
00762     "C5.6..3....F.2.."
00763     "4.A...1D72.9..B."
00764     ".E..D.9CA6...F.1"
00765     "..9.5....E..D.26"
00766     "B6...4..D..5.7.A"
00767     "..F4...A...C9..."
00768     "AB4.......2..G6."
00769     "..68FBD..5...A47"
00770     "1.....6.9.E4B..."
00771     "..32...5...B...."
00772     ,
00773 
00774     // http://janko.at/Raetsel/Sudoku/305.a.htm
00775     // 38
00776     "..16.E.8.BF.4..."
00777     ".5...9D......A73"
00778     "..3...B.78.D.6.."
00779     "......1...9...BE"
00780     "C..1D..6B5..7.A4"
00781     "...5.F.98..32.DG"
00782     "3.....C..D.A5.E."
00783     "....3B5.F7...9.."
00784     "..5...6C.2AE...."
00785     ".3.BE.2..4.....9"
00786     "F9.2A..B5.7.G..."
00787     "EA.G..756..BD..1"
00788     "6C...8...9......"
00789     "..9.6.47.E...D.."
00790     "2GE......C6...F."
00791     "...3.CG.2.D.65.."
00792     ,
00793 
00794     // http://janko.at/Raetsel/Sudoku/306.a.htm
00795     // 39
00796     ".....D5..7.169.."
00797     "..4..2BE8.G..A.."
00798     "8DA....752..BGF."
00799     "G.9EA.86..3F2..."
00800     "C..4G1.....7F..."
00801     ".G.A...315.6..C8"
00802     "E.5..F7.4G..1.A2"
00803     ".91..BE...D.54G."
00804     ".68D.3...C5..B9."
00805     "4E.5..9B.31..F.G"
00806     "3B..E.G1A...C.4."
00807     "...95.....F83..7"
00808     "...C9G..F1.5D8.B"
00809     ".468..DFC....3E5"
00810     "..2..E.A7DB..C.."
00811     "..EFB.3..86....."
00812     ,
00813 
00814     // http://janko.at/Raetsel/Sudoku/307.a.htm
00815     // 40
00816     ".BC..32...9..D.."
00817     ".3..CB...52A.9E4"
00818     "7E.A...D8.6B2..5"
00819     "..9F..A.DC7.B6.."
00820     ".15..2.E..3...4."
00821     "4GD81.3C...7..6F"
00822     ".C.9....E.4.G..1"
00823     "..E3..59G.FD.B.."
00824     "..A.2E.FC9..84.."
00825     "B..E.9.4....F.A."
00826     "16..A...57.F3E9B"
00827     ".9...6..4.E..7G."
00828     "..64.C85.2..DA.."
00829     "E..DB1.23...6.59"
00830     "C5G.9D4...1E..2."
00831     "..2..F...DA..CB."
00832     ,
00833 
00834     // http://janko.at/Raetsel/Sudoku/308.a.htm
00835     // 41
00836     "G.E37..1.....6.."
00837     "96..E..3..G5D.F."
00838     ".7..64.CF31..29E"
00839     "....F...8.9E437."
00840     "6AF...D.3..1...."
00841     "..1...B5.8F47..3"
00842     ".83B2.47.G....61"
00843     "..79.6...EC..8.G"
00844     "E.C..2A...8.FG.."
00845     "25....C.GA.78B4."
00846     "7..AD3F.24...E.."
00847     "....G..B.1...C52"
00848     ".4A2B5.D...8...."
00849     "FE8..G2A1.73..C."
00850     ".C.78F..4..2..E5"
00851     "..9.....E..G34.8"
00852     ,
00853 
00854     // http://janko.at/Raetsel/Sudoku/309.a.htm
00855     // 42
00856     ".G.4..1E6.9...2."
00857     ".D..4G.C.....9F7"
00858     "..79.D...5C.B.G."
00859     ".EFC7...G..D.5.3"
00860     "5...C...E6BFD..."
00861     "...1...5..D.CB.2"
00862     "7.CG29.D3...E8.F"
00863     "94...EGB.2.C...."
00864     "....E.2.583...CD"
00865     "3.D5...89.FB7G.E"
00866     "4.1E.F..A...3..."
00867     "...F1B3G...E...9"
00868     "F.9.8..1...G23D."
00869     ".A.B.4D...7.5F.."
00870     "8CE.....1.25..7."
00871     ".7...5.3F9..G.8."
00872     ,
00873 
00874     // http://janko.at/Raetsel/Sudoku/310.a.htm
00875     // 43
00876     "...4.1.9..7...B5"
00877     "6E..2.8....CGA.."
00878     ".51....B.D....6."
00879     "B.9..E..G..A...7"
00880     "..7.5F9G..48...."
00881     "..29..3..F..5.7."
00882     "G.BD...837.E..94"
00883     "......7E.1.6A2G3"
00884     "94GA7.2.63......"
00885     "5B..A.E18...79.2"
00886     ".1.8..6..4..BD.."
00887     "....G8..EB92.4.."
00888     "D...9..A..1..G.6"
00889     ".3....4.C....1E."
00890     "..4B6....E.7..2A"
00891     "F9...5..A.3.4..."
00892     ,
00893 
00894     // http://janko.at/Raetsel/Sudoku/361.a.htm
00895     // 44
00896     ".G..5.2.E.FA.4C."
00897     "AB..G....35.17D9"
00898     "53..4AC..DB....."
00899     ".6.C3B..2.8.5..."
00900     "1...A....E.D9CG3"
00901     "GDA9.4..B.1.6E.."
00902     ".FB.1..E9....D.8"
00903     "C..3.59G48......"
00904     "......F38G2.7..4"
00905     "6.3....A7..9.8E."
00906     "..CE.9.1..4.DG35"
00907     "89GD2.4....6...C"
00908     "...G.C.4..958.7."
00909     ".....1A..F78..42"
00910     "4871.3G....2..9A"
00911     ".C9.72.8.6.4..1."
00912     ,
00913 
00914     // http://janko.at/Raetsel/Sudoku/362.a.htm
00915     // 45
00916     "A...18..79..C..6"
00917     ".37.A2...FD...E9"
00918     "G14D..5...8C.A.."
00919     ".268.E7.3A....D5"
00920     "3...D1...7A2.8.4"
00921     "7CF.9..4....D.2."
00922     "5..63.A28...1CF."
00923     "...1.6...3FD..5."
00924     ".A..FC6...9.3..."
00925     ".D2F...3A5.1E..8"
00926     ".9.G....D..7.F1C"
00927     "E.C.G9D...3F...7"
00928     "17....9B.2E.43C."
00929     "..9.E3...C..5D7F"
00930     "FE...AC...G5.29."
00931     "D..C..2F..73...E"
00932     ,
00933 
00934     // http://janko.at/Raetsel/Sudoku/363.a.htm
00935     // 46
00936     "3.8.BD..5F72E..6"
00937     "..G..4.7E..6F5.."
00938     ".AF.2..C....9G73"
00939     "59C...FE.AG....."
00940     "C5..1..F.4.G.E.7"
00941     "F..2.C..B13...GD"
00942     "4..B73.D....C..."
00943     "GD...A...C.7B48."
00944     ".G5FD.3...9...BE"
00945     "...C....6.E1G..9"
00946     "28...7E1..B.6..4"
00947     "1.B.5.C.3..8..AF"
00948     ".....ED.16...345"
00949     "9C21....7..A.8E."
00950     "..EA9..3F.8..7.."
00951     "6..5827A..4D.F.C"
00952     ,
00953 
00954     // http://janko.at/Raetsel/Sudoku/364.a.htm
00955     // 47
00956     "1.....6C.4G.9BA."
00957     ".G6..F.9A.D1...2"
00958     "...D7G.3F...41.."
00959     ".3A.2..1.759.E.G"
00960     "B8..D.F.C.2.A..."
00961     "C....1..DBFA2..5"
00962     "..FG.E.....58C9."
00963     ".25A3.C.G..E...1"
00964     "3...4..B.G.DE78."
00965     ".C78A.....3.12.."
00966     "5..1FC37..E....9"
00967     "...4.2.8.F.B..CA"
00968     "A.4.6B7.5..F.9D."
00969     "..8C...DB.975..."
00970     "9...85.E3.A..46."
00971     ".5D7.A9.E2.....8"
00972     ,
00973 
00974     // http://janko.at/Raetsel/Sudoku/365.a.htm
00975     // 48
00976     "..D.2...5A1....F"
00977     "E21F..9..6.D...G"
00978     "7A.9G1..2E.4D..8"
00979     ".B64.3FA...8.E.2"
00980     "...3...F...G2A.."
00981     ".F7...5.8D4.B.3."
00982     "4....C.....F8.D1"
00983     ".G....B3A2.....6"
00984     "3.....4CF8....6."
00985     "94.B1.....D....E"
00986     ".C.A.E8D.B...15."
00987     "..G8B...1...C..."
00988     "B.A.8...6F2.3DE."
00989     "2..16.E5..A39.84"
00990     "6...9.3..5..1C2B"
00991     "8....D12...9.6.."
00992     ,
00993 
00994     // http://janko.at/Raetsel/Sudoku/366.a.htm
00995     // 49
00996     "3....2A.4F.6..G1"
00997     "ADF4..3..5....E."
00998     "..5G..1E....FAB."
00999     "..E.GF75..B..93."
01000     "B...17...A629..."
01001     "...EFG..7.516..C"
01002     "63..D...G...E42F"
01003     "2....8639...1G.."
01004     "..B8...76G2....E"
01005     "5C32...4...E..1G"
01006     "G..62E.9..D4B..."
01007     "...D5CG...A3...7"
01008     ".G7..5..84F9.B.."
01009     ".F6B....5E..21.."
01010     ".5....B..6..7EF9"
01011     "E4..A.9F.BC....5"
01012     ,
01013 
01014     // http://janko.at/Raetsel/Sudoku/367.a.htm
01015     // 50
01016     "B........45DC.6A"
01017     "4.F...639.CA.E.."
01018     ".9A...CD26.8F1B."
01019     "6.C3.7.8.F..9..."
01020     "D68.E..B...5...."
01021     "73...8A5..9.2..."
01022     "A.G1..9..26..D8."
01023     ".C9.......81A6E."
01024     ".574FA.......G1."
01025     ".AD..37..G..4F.E"
01026     "...9.G..452...CD"
01027     "....B...F..9.725"
01028     "...B..G.C.F.12.9"
01029     ".16AC.5FG3...8D."
01030     "..2.36.759...C.F"
01031     "F8.C194........6"
01032     ,
01033 
01034     // http://janko.at/Raetsel/Sudoku/368.a.htm
01035     // 51
01036     "C..B61..G...F.AE"
01037     "4E8F...A.....DG."
01038     ".D..F3.E1.5A..6."
01039     "5.....GBE9FC..82"
01040     "..5EB.D8...1.F.6"
01041     "..AD.72...6..3.8"
01042     "...3..E.9FB85..."
01043     "6.B4..1....2CAE."
01044     ".3E9C....G..D1.7"
01045     "...CEG3D.7..A..."
01046     "A.F..B...CD.EG.."
01047     "D.7.1...B2.348.."
01048     "FG..8EB17A.....3"
01049     ".4..D6.G3.CE..5."
01050     ".62.....D...74CA"
01051     "3B.A...4..9F8..G"
01052     ,
01053 
01054     // http://janko.at/Raetsel/Sudoku/369.a.htm
01055     // 52
01056     "...E.6DB...2.8.."
01057     "....5G.3.9F8C1.."
01058     "981....FG....7.."
01059     ".3.F8....65.2..9"
01060     "3G....4A5D..7.F."
01061     ".A.D...2......64"
01062     ".2.4C.F..A.G...3"
01063     "..F.D.....6C.21E"
01064     "1F9.B2.....E.D.."
01065     "4...E.3..B.DF.2."
01066     "5E......9...3.C."
01067     ".D.3..8142....5A"
01068     "2..5.D6....F1.A."
01069     "..4....86....EDG"
01070     "..3CGFB.E.DA...."
01071     "..G.3...279.6..."
01072     ,
01073 
01074     // http://janko.at/Raetsel/Sudoku/370.a.htm
01075     // 53
01076     "3....1G..5.7.A4."
01077     "FE7C.3.9.......G"
01078     ".8.....5D9G.C..3"
01079     "5G.A6....38.FD7."
01080     "...5G.94.8.27C.."
01081     ".98.E.5C.G......"
01082     "4....7.25.CB.6.A"
01083     "2A.F.......6.5G."
01084     ".F3.5.......4.DB"
01085     "C.B.98.AF.7....6"
01086     "......6.2D.C.9E."
01087     "..6G4.B.81.9A..."
01088     ".D53.C8....E6.97"
01089     "A..2.D467.....5."
01090     "8.......4.9.32B1"
01091     ".4F.2.3..61....C"
01092     ,
01093 
01094     // http://janko.at/Raetsel/Sudoku/501.a.htm
01095     // 54
01096     "..E3.7.1.5.6.B.."
01097     "....G85B92.FE..."
01098     "C...4.36A......2"
01099     ".4.BA......G7..C"
01100     "48.2E...5G.9ADB."
01101     ".....B...C4...9E"
01102     "9A..F42.E1...5C."
01103     ".5C.7.9G8....413"
01104     "BE8....26A.C.G3."
01105     ".FD...7E.931..56"
01106     "AC...G6...2....."
01107     ".1369.85...BD.A7"
01108     "E..A6......5C.7."
01109     "3......A7F.E...5"
01110     "...51.G7CDA2...."
01111     "..G.C.B.3.1.9A.."
01112     ,
01113 
01114     // http://janko.at/Raetsel/Sudoku/502.a.htm
01115     // 55
01116     "G..B..12....73.C"
01117     "..8DB.7CG9A....."
01118     "6.3...D...4E.8B."
01119     "4...38G.21....AD"
01120     "..F.........E.6."
01121     ".E6..75DFG3.B..."
01122     ".7.G.F916EB.4583"
01123     ".B.3.E2..89...F1"
01124     "74...3E..62.5.1."
01125     "9852.CB7DFE.3.G."
01126     "...A.56F431..C9."
01127     ".F.6.........E.."
01128     "C1....F4.B5G...E"
01129     ".D4.EG...2...9.8"
01130     ".....D8974.1CA.."
01131     "B.A7....ED..F..4"
01132     ,
01133 
01134     // http://janko.at/Raetsel/Sudoku/503.a.htm
01135     // 56
01136     "7B..9C.3..6.A.2E"
01137     "4.2...67A..53..D"
01138     ".....ADE.CB.4.5."
01139     "AD8....B7.F....."
01140     ".C...1.A.9.....8"
01141     "F.E8...C.4.D.6.2"
01142     "..D.59.......1A."
01143     ".1.2......7FBDC3"
01144     "BF6EC4......2.7."
01145     ".53.......C2.E.."
01146     "D.G.2.A.5...F3.C"
01147     "2.....1.B.3...8."
01148     ".....F.43....CD7"
01149     ".8.G.E7.C25....."
01150     "C..DG..1F7...2.A"
01151     "E7.A.6..9.18..B5"
01152     ,
01153 
01154     // http://janko.at/Raetsel/Sudoku/504.a.htm
01155     // 57
01156     ".21..BD...EF6G.."
01157     "..6.5.F....D.8.E"
01158     "G4.....EB.7.1.D3"
01159     "C.D..37G..61...."
01160     "AB.D8..9.1.E..F."
01161     "6.F4..G..D..8..B"
01162     "....BD.1F.8.7.C9"
01163     "..3...6..G.BED.."
01164     "..B91.C..E...A.."
01165     "47.2.6.A3.1G...."
01166     "8..3..E..B..F1.G"
01167     ".1..7.3.D..C9.25"
01168     "....GF..28B..4.A"
01169     "5A.8.4.B1.....GF"
01170     "D.2.C....F.6.7.."
01171     "..41DA...7G..C9."
01172     ,
01173 
01174     // http://janko.at/Raetsel/Sudoku/505.a.htm
01175     // 58
01176     ".B...7..4D..E13."
01177     "D......6G.E7...F"
01178     "8.6F....B....7.."
01179     "7...91D..F8C.B.."
01180     ".F.G8.1.3..27..."
01181     ".1.6.4329.7.F..D"
01182     "3..7..5..GBD8..."
01183     "48D.CE....A...9."
01184     ".3...G....C4.9EB"
01185     "...148C..3..A..2"
01186     "9..4.6.7FA5.C.G."
01187     "...EF..5.1.B6.D."
01188     "..5.ABG..7F9...6"
01189     "..3....F....18.E"
01190     "G...E5.32......9"
01191     ".6FB..89..3...C."
01192     ,
01193 
01194     // http://janko.at/Raetsel/Sudoku/506.a.htm
01195     // 59
01196     "...FDAE..6.1.3B."
01197     "1..C...9.D34.6.."
01198     "8A3.4.....2E7C.."
01199     "..DG.3......8.5E"
01200     "3F2.C.....8B.5.9"
01201     ".DE.8..B2C..A..4"
01202     "C8...1.........6"
01203     ".....D.31.5...E."
01204     ".G...E.84.D....."
01205     "A.........1...43"
01206     "D..E..17C..2.FG."
01207     "2.5.AF.....9.D7B"
01208     "73.2......6.B4.."
01209     "..483B.....D.A61"
01210     "..A.14F.B...5..C"
01211     ".1C.6.D..24A9..."
01212     ,
01213 
01214     // http://janko.at/Raetsel/Sudoku/507.a.htm
01215     // 60
01216     "4.8CB9G...D..FA2"
01217     "G..18..A96...E.."
01218     "F9....ED..8....B"
01219     "...D73...2F.G.81"
01220     ".......2....C.F9"
01221     "3.D7.E6...9.4..A"
01222     ".C.4..D9.GA..3.7"
01223     ".2.......7.3.65."
01224     ".3B.5.2.......D."
01225     "6.4..G8.FC..B.2."
01226     "E..G.B...D2.18.F"
01227     "CD.2....3......."
01228     "D1.B.8F...C9E..."
01229     "2....D..1B....G5"
01230     "..5...17D..G9..C"
01231     "7E9..C...468FD.3"
01232     ,
01233 
01234     // http://janko.at/Raetsel/Sudoku/508.a.htm
01235     // 61
01236     "D.B.8.4..5G..2.9"
01237     ".C..6.3...D1.7B."
01238     "GE4.B..52A..FD.C"
01239     "..7.2..E.F9....."
01240     ".2..4....3.D9GEF"
01241     "43.7..A..8......"
01242     "5.ABGD.F..1...37"
01243     "..E......7..6B.."
01244     "..2E..G......3.."
01245     "C5...B..D.F971.8"
01246     "......5..2..C.GE"
01247     "348GD.C....7..5."
01248     ".....91.8..F.6.."
01249     "1.G2..F65..E.89B"
01250     ".8C.54...1.G..F."
01251     "F.5..87..9.A.C.1"
01252     ,
01253 
01254     // http://janko.at/Raetsel/Sudoku/509.a.htm
01255     // 62 // problems
01256     "..EF96...8.5B.C."
01257     "D...FE....1.2A.."
01258     ".86..2..C...57.1"
01259     "C21...BD9..E...3"
01260     "5..1.C...6....DA"
01261     ".G.....7.E.1.5BC"
01262     "B...D1..8...7..."
01263     "..9D..A27.3.E..."
01264     "...3.A.E5B..6F.."
01265     "...5...C..83...B"
01266     "FDB.2.9.6.....5."
01267     "61....5...E.G..9"
01268     "4...8..3B7...EA2"
01269     "E.26...A..G..CF."
01270     "..58.D....4F...G"
01271     ".B.7C.2...5AD9.."
01272     ,
01273 
01274     // http://janko.at/Raetsel/Sudoku/510.a.htm
01275     // 63
01276     "..2..DA6.38.14.."
01277     "...5.F..2......."
01278     "6.8.2.G.....7A.B"
01279     "A.F.....65.G..D."
01280     "...6.8E.52...B.."
01281     "7....2.F.G39..8E"
01282     "8..3679..4.C.1.G"
01283     ".B.EG..18.A....7"
01284     "1....A.8C..FG.3."
01285     "E.A.1.3..D42B..5"
01286     "97..CG6.1.B....4"
01287     "..3...2D.E6.A..."
01288     ".C..B.74.....5.A"
01289     "B.68.....C.7.D.F"
01290     ".......A..1.2..."
01291     "..4A.C8.E6G..7.."
01292     ,
01293 
01294     // http://janko.at/Raetsel/Sudoku/511.a.htm
01295     // 64
01296     "A..95.B.G...8.FD"
01297     "G.D...6FB...A5.."
01298     ".B...1D83.A9G.7."
01299     "F68....G5..1...C"
01300     "..28DA9..5FC...G"
01301     "..G.87.2.A4D.6.."
01302     "....3F.....E.CD9"
01303     "9C5D......G.FA8."
01304     ".71B.6......5842"
01305     "D5F.B.....26...."
01306     "..9.127.F.85.D.."
01307     "2...E35..CB719.."
01308     "6...F..BE....734"
01309     ".F.ECD.3479...2."
01310     "..AG...9C1...F.8"
01311     "39.5...1.D.FB..A"
01312     ,
01313 
01314     // http://janko.at/Raetsel/Sudoku/512.a.htm
01315     // 65
01316     "....G5D.C1...B2."
01317     "6...E.BC.G..D8.."
01318     "D13C..7..4..5G.."
01319     ".72B48..5.6.C9.."
01320     "....B9E....F4.12"
01321     "...A..FD7B.C8..3"
01322     "E6F..1....G3.DB9"
01323     "B..4.2.89.1...G."
01324     ".5...7.ED.C.G..8"
01325     "C9D.14....E..A35"
01326     "8..2D.591A..6..."
01327     "7G.36....259...."
01328     "..6D.E.5..B4A27."
01329     "..95..2..8..B3D4"
01330     "..7G..4.6E.5...F"
01331     ".B8...97.C32...."
01332     ,
01333 
01334     // http://janko.at/Raetsel/Sudoku/513.a.htm
01335     // 66
01336     "D...9A..6.F4.3.C"
01337     "....B6..5A.E9D.."
01338     "6E5......D..7F.."
01339     ".3G9..FDC...4..."
01340     "16..AF4..C.7..58"
01341     "G....1..A.B8..F9"
01342     ".7C.3..8...F6..."
01343     "A8.F.G.C43..2..."
01344     "...7..9E3.D.8.4F"
01345     "...8G...9..5.6C."
01346     "59..F3.4..C....G"
01347     "4F..6.D..B7A..2E"
01348     "...D...BE9..G86."
01349     "..2G..3......BE5"
01350     "..E48.6A..2C...."
01351     "3.8.E5.F..AD...4"
01352     ,
01353 
01354     // http://janko.at/Raetsel/Sudoku/514.a.htm
01355     // 67
01356     "...B562E.1G....."
01357     ".D27A...4...56B."
01358     ".G6..B.C..2..E7."
01359     ".1.C..7.DB..3.42"
01360     "....37.2E..G..64"
01361     "D.3..5..C.A8.G.1"
01362     "C..A...F9...D..3"
01363     ".2.FDG8..3.4.5.E"
01364     "2.8.F.4..CEBG.5."
01365     "E..D...G5...C..B"
01366     "1.5.2C.D..9..F.8"
01367     "FC..E..5G.81...."
01368     "A3.5..G8.9..6.E."
01369     ".F4..A..2.1..39."
01370     ".E16...3...C42G."
01371     ".....E1.763AF..."
01372     ,
01373 
01374     // http://janko.at/Raetsel/Sudoku/515.a.htm
01375     // 68
01376     "A.5.FB.C...7..3."
01377     "G38....D.C.EB5.."
01378     "..F...3.9G8..D7."
01379     "...E.2.4.A.59.FG"
01380     "8..A..6.3F7D5..."
01381     "B..4....5...DEA."
01382     "61..BD75..E....."
01383     ".5C.1E.A.8....62"
01384     "C8....E.7.62.GD."
01385     ".....A..D95F..84"
01386     ".D41...6....2..7"
01387     "...928D1.E..3..C"
01388     "57.3E.A.8.9.C..."
01389     ".21..C58.4...F.."
01390     "..6C9.1.2....AEB"
01391     ".A..D...G.1C.4.5"
01392     ,
01393 
01394     // http://janko.at/Raetsel/Sudoku/516.a.htm
01395     // 69
01396     "...E9.5..6.G...F"
01397     ".6.4.3.G...7.1.B"
01398     ".37A.E..49.5C..."
01399     "9....C76.32E.548"
01400     ".E...4..DG9.2..."
01401     ".4...562C...G8.."
01402     ".G93..1B5F.2.C.7"
01403     "C1.639.A.......5"
01404     "D.......2.496.8G"
01405     "6.3.F.9EG5..B2C."
01406     "..AB...86EC...3."
01407     "...9.2C1..B...D."
01408     "7A1.462.3B5....D"
01409     "...D5.89..G.1BA."
01410     "E.5.G...9.6.F.2."
01411     "4...B.E..D.87..."
01412     ,
01413 
01414     // http://janko.at/Raetsel/Sudoku/517.a.htm
01415     // 70
01416     ".FE6.A.8......1."
01417     "145..7.E..F...68"
01418     "...C.4..EG82..5F"
01419     "....5FD.7B1..C.4"
01420     "..4.82A.C..1B..."
01421     ".8C7..5....AD24G"
01422     "..1F..9.G83BA..."
01423     "..A9F.E6D.....71"
01424     "F9.....53C.718.."
01425     "...321CD.6..74.."
01426     "A1726....4..GFC."
01427     "...49..F.1A8.E.."
01428     "D.F..62B.593...."
01429     "4B..D83A..2.5..."
01430     "87...5..B.4..936"
01431     ".6......8.7.CBD."
01432     ,
01433 
01434     // http://janko.at/Raetsel/Sudoku/518.a.htm
01435     // 71
01436     "...84......D.1F7"
01437     ".6.C..A.4G.....9"
01438     "..945.G.8.F..3A."
01439     "...7CFD2.3...E.G"
01440     "..6B..58..G....."
01441     "8.7..G.C9.4A1..E"
01442     "C..EA3.9...5.GD."
01443     ".F...2.....B3.8A"
01444     "AB.6F.....C...9."
01445     ".7E.B...5.16G..3"
01446     "1..G79.3A.D..C.5"
01447     ".....1..7E..AB.."
01448     "3.4...8.E792B..."
01449     ".E8..D.B.A.359.."
01450     "5.....1A.D..E.3."
01451     "69D.2......C7..."
01452     ,
01453 
01454     // http://janko.at/Raetsel/Sudoku/519.a.htm
01455     // 72// problems
01456     "CD.E9.8......6.."
01457     ".62..3...E..85.7"
01458     ".G...6...AF5...D"
01459     "....D54.39.8...E"
01460     "6FB..ED4...G.1.."
01461     "4.A.5..2D......G"
01462     ".C.1...GF53A2..6"
01463     ".2.3.A.1....F..."
01464     "...2....4.B.9.6."
01465     "3..6G8E95...4.2."
01466     "G......D9..3.F.8"
01467     "..4.2...68A..GC3"
01468     "A...1.3E.D9C...."
01469     "E...49C...5...1."
01470     "2.9D..A...8..3F."
01471     "..8......2.7A.E5"
01472     ,
01473 
01474     // http://janko.at/Raetsel/Sudoku/520.a.htm
01475     // 73
01476     "D..6..1.2C3....8"
01477     "..1..386..5..9.."
01478     ".8C2......DGBF1."
01479     "..5.G......1.A.D"
01480     "..A876..4..C5..."
01481     "64F...AD.2.5..C."
01482     "E....1B9.6A...24"
01483     "B...4....8G...7."
01484     ".7...BD....6...9"
01485     "FG...C9.1D4....A"
01486     ".5..E.6.G7...1DC"
01487     "...BF..G..2A37.."
01488     "5.8.6......D.3.."
01489     ".E2D5A......7CF."
01490     "..7..9..A51..4.."
01491     "9....DC1.4..E..5"
01492     ,
01493 
01494     // http://janko.at/Raetsel/Sudoku/586.a.htm
01495     // 74
01496     "8D...6E...A2...."
01497     "E9.6....4..D.537"
01498     "..539C.2..7.A4.."
01499     "..B2G..5......6D"
01500     ".F....G9CB84...."
01501     "21.D.F5..7.EB.G6"
01502     "983..47.65...A.2"
01503     ".7.C6....A..3954"
01504     "C698..1....54.7."
01505     "F.A...46.82..D9G"
01506     "42.5B.C..3G.6.8F"
01507     "....5E28F9....A."
01508     "7B......G..1C3.."
01509     "..F4.5..B.3AG6.."
01510     "35E.C..A....7.49"
01511     "....D1...FC...25"
01512     ,
01513 
01514     // http://janko.at/Raetsel/Sudoku/587.a.htm
01515     // 75
01516     "6D.5F.B83..7...."
01517     ".F.761...854.A.."
01518     "39.8.D..B..EF.6."
01519     "..E.3.956F...CB1"
01520     "F65......GBA...2"
01521     "...3.6C7D9...8.B"
01522     "..DE..82F.7...5."
01523     "B.7.DF....3.619."
01524     ".A9B.5....81.F.6"
01525     ".3...E.BG5..12.."
01526     "C.G...DF7B9.A..."
01527     "5...1C6......B84"
01528     "7E6...F91A.B.3.."
01529     ".5.9A..D..6.B.2E"
01530     "..A.BG5...F97.1."
01531     "....2..65E.8C.AF"
01532     ,
01533 
01534     // http://janko.at/Raetsel/Sudoku/588.a.htm
01535     // 76
01536     "F.....8.43..BGD6"
01537     "6E..G29....C3.7."
01538     "2.1..D7.5.E..C.."
01539     "89.4...C7.612..."
01540     ".1.F..DAEB5...8."
01541     "..6AF34...D..E1."
01542     "E...B..5..8G.493"
01543     "7.892....4.3D..."
01544     "...1E.A....F63.C"
01545     "D6E.89..G..5...1"
01546     ".G3..F...91E78.."
01547     ".F...1GB36..E.A."
01548     "...87G.6C...4.FA"
01549     "..7..8.1.FB..6.2"
01550     ".D.GA....134..CE"
01551     "C2A6..F3.5.....D"
01552     ,
01553 
01554     // http://janko.at/Raetsel/Sudoku/589.a.htm
01555     // 77
01556     "...439.27..5..G."
01557     "5C67...A93...2D."
01558     ".3B...1D...2.78."
01559     "...2.G7.8EA.3.5F"
01560     "E.C.A23....D...7"
01561     "...D.B..G7F81..6"
01562     ".G.1.68.2A.ECD.."
01563     "F8.6.4G......AE5"
01564     "643......DB.F.2E"
01565     "..586.4C.F2.D.B."
01566     "B..F8A2G..3.7..."
01567     "7...E....894.C.A"
01568     "D7.3.1B4.CE.9..."
01569     ".F4.9...B2...6C."
01570     ".BG...67D...4E13"
01571     ".6..F..31.4AB..."
01572     ,
01573 
01574     // http://janko.at/Raetsel/Sudoku/590.a.htm
01575     // 78
01576     ".1B.....2.59F.6G"
01577     "G.2341A...BF...."
01578     "C.E8....3..D.24."
01579     "F....9E..1...B38"
01580     "..1.F45.6.3.2..9"
01581     "3..E.8C.5D..1..."
01582     "....DB..A8...FE3"
01583     ".4.93.1.E..G.8D."
01584     ".GF.C..7.5.69.8."
01585     "BDC...F1..A8...."
01586     "...5..94.21.G..C"
01587     "E..1.5.8.FC3.D.."
01588     "1B4...8..92....6"
01589     ".A8.9..C....45.B"
01590     "....12...6853A.F"
01591     "5C.27A.B.....91."
01592     ,
01593 
01594     // http://janko.at/Raetsel/Sudoku/591.a.htm
01595     // 79
01596     "A57...8E4......9"
01597     ".4C85.6....9.E3B"
01598     ".E1...3G657..AC8"
01599     "...F.1.9.8EA5.7."
01600     ".8.5.7...4F...2."
01601     "..9316....BG8..."
01602     "..E2A..4.....D97"
01603     "F.4....856..G1.3"
01604     "6.84..ECB....F.5"
01605     "5FA.....C..637.."
01606     "...7F4....1528.."
01607     ".2...35...8.C.1."
01608     ".9.13E2.8.4.A..."
01609     "BD2..G4FAC...98."
01610     "8G5.C....D.EF3B."
01611     "4......57B...2G6"
01612     ,
01613 
01614     // http://janko.at/Raetsel/Sudoku/592.a.htm
01615     // 80
01616     "..8.A.F.B97.1.6."
01617     "1B79...6.....8E."
01618     "..E3..928...D.5."
01619     "26..8.B....17..."
01620     "91..6A2..B3..D.."
01621     ".F..37.52.GD.4.."
01622     "3.679...5.EF...A"
01623     "4.B..FC..16...G5"
01624     "73...8A..5D..F.1"
01625     "5...FC.3...98G.E"
01626     "..F.D5.13.A8..B."
01627     "..A..B6..2FG..7D"
01628     "...6B....E.2..1C"
01629     ".4.F...A1D..GE.."
01630     ".A2.....G...4638"
01631     ".7.G.28F.6.3.A.."
01632     ,
01633 
01634     // http://janko.at/Raetsel/Sudoku/593.a.htm
01635     // 81
01636     ".2ED.4...C...F.."
01637     ".8.FE.6.1.....A4"
01638     "A..7.8F.29.B...C"
01639     "....3GCB...5.87D"
01640     "..45DA..B7F3C.6."
01641     "....G...4..CA2.5"
01642     "2.7.F..CG...34B."
01643     ".ED.B54381..G..."
01644     "...4..825GBE.3F."
01645     ".B5G...63..F.C.1"
01646     "1.F27..E...4...."
01647     ".D.84FG5..167B.."
01648     "3C1.2...DB8G...."
01649     "D...6.59.F3.8..2"
01650     "4G.....F.A.71.C."
01651     "..8...B...9.ED3."
01652     ,
01653 
01654     // http://janko.at/Raetsel/Sudoku/594.a.htm
01655     // 82
01656     "5....E...7B..CF2"
01657     "AF.467....3...D."
01658     "D.E.C.3....8.7.."
01659     "....8..DA6.E..5."
01660     "..3B....4.A.EF1."
01661     "69..B.D.3.....C7"
01662     "1..G...49.C..6.."
01663     "...D12G5FE..B..."
01664     "...7..93285AF..."
01665     "..8..4.76...2..G"
01666     "96.....F.3.B..84"
01667     ".AB3.G.6....95.."
01668     ".1..F.69E..2...."
01669     "..9.G....F.3.2.E"
01670     ".E...D....95G.BF"
01671     "2G7..C5...4....3"
01672     ,
01673 
01674     // http://janko.at/Raetsel/Sudoku/595.a.htm
01675     // 83
01676     ".3.B8..C61...2.."
01677     ".E.2...F..4.1A67"
01678     "71D...A...C..B.."
01679     ".6...92D.B.3..45"
01680     "...8A...C.F4...3"
01681     ".F9.75E4..B.6..."
01682     "5..1...8..6.4F.."
01683     "4...C....EA.B.2G"
01684     "2D.7.E5....6...1"
01685     "..BA.D..9...G..8"
01686     "...E.1..G2DF.59."
01687     "6...4C.B...73..."
01688     "A2..B.C.46E...7."
01689     "..1..2...9...8AD"
01690     "DC75.A..3...E.B."
01691     "..8...GEA..C2.5."
01692     ,
01693 
01694     // http://janko.at/Raetsel/Sudoku/596.a.htm
01695     // 84
01696     "B62...9...1...G7"
01697     "C.....7.6..A.1.9"
01698     ".1....A8..7.2..3"
01699     "..A831.CG2..E..."
01700     ".8..92.A..GD4..."
01701     "G.C.D8..F.529..."
01702     "...4.........D6A"
01703     ".5.B.C.17..3G8.."
01704     "..E12..9D.B.6.8."
01705     "9C7.........5..."
01706     "...A54.7..2C.F.G"
01707     "...FCD..4.A5..9."
01708     "...9..1E2.F83C.."
01709     "1..7.9..A3....D."
01710     "2.3.8..B.5.....6"
01711     "EB...3...7...G12"
01712     ,
01713 
01714     // http://janko.at/Raetsel/Sudoku/597.a.htm
01715     // 85
01716     "..6..1..4..F3.A."
01717     "7E..6G.3....FC.."
01718     "BC3..FD.6.9.G..2"
01719     ".....4E.CG3.B..."
01720     "1.E..C.....2.A.."
01721     "...AE6...4F..9.3"
01722     ".8.2..3F.C.1...."
01723     "34..8...B57..EC."
01724     ".B9..3CD...8..E5"
01725     "....9.F.GA..4.1."
01726     "A.4..E2...6BC..."
01727     "..8.A.....E..7.B"
01728     "...C.2A6.EB....."
01729     "E..8.9.5.3C..62G"
01730     "..B9....2.GD..5C"
01731     ".3.5C..E..1..4.."
01732     ,
01733 
01734     // http://janko.at/Raetsel/Sudoku/598.a.htm
01735     // 86
01736     ".FA..5...B7..E.6"
01737     "18....4B...C..G."
01738     "..G.7..CF....8.5"
01739     ".B9CG8.........."
01740     ".D..A.G..85....E"
01741     "69..3...1...C5.."
01742     "7.4B....G.A.2..F"
01743     "..8.5B6D..27...."
01744     "....8G..EC61.D.."
01745     "3..6.C.7....91.8"
01746     "..DF...5...9..73"
01747     "8....6B..2.5..E."
01748     "..........14EFD."
01749     "9.6....AD..F.7.."
01750     ".E..6...29....1C"
01751     "G.2..EF...C..4B."
01752     ,
01753 
01754     // http://janko.at/Raetsel/Sudoku/599.a.htm
01755     // 87
01756     ".3..6GF..C8....."
01757     "G..9.B.8...5.A74"
01758     "7..8.2..B..D...."
01759     ".EA.....3.6..9B."
01760     "..F.2....3AG...."
01761     "E7...........39G"
01762     ".9.A..31E6..FC.."
01763     "4.3..D.9C.B....E"
01764     "6....8.4A.2..G.C"
01765     "..G3..CFD9..4.A."
01766     "A85...........FB"
01767     "....5A7....6.2.."
01768     ".24..7.D.....16."
01769     "....1..3..C.2..8"
01770     "1A7.C...6.3.E..9"
01771     ".....6E..1F2..3."
01772     ,
01773 
01774     // http://janko.at/Raetsel/Sudoku/600.a.htm
01775     // 88
01776     "....47.....9B.1."
01777     "..5..9F2.6....43"
01778     "B..3.....E24..9."
01779     "..9.....A57..2.."
01780     ".DA4E..7...C.F.."
01781     ".1.6..4.E....8.B"
01782     "....81BF..4.5..7"
01783     "...F9A....D..E.4"
01784     "5.2..3....A71..."
01785     "6..C.B..G9FE...."
01786     "7.8....9.D..C.3."
01787     "..G.6...1..3E45."
01788     "..F..E8D.....A.."
01789     ".2..741.....3..8"
01790     "D6....5.92B..1.."
01791     ".A.EB.....C6....",
01792     // 89
01793     //".N..JG..O7591...8I....L.."
01794     "BNDAJG62O7591KHF8IP34CLME"
01795     "FG.M.B8...P.E...CJ..H...."
01796     "...........G.4.H.D.O.NJA2"
01797     ".....J.EN4.L6MA.B.2......"
01798     "HE..2..DC.....F4KMA.B.9O8"
01799     "M....62...47C19......E5.."
01800     ".I2.8M.JGL...ADN..K..3.F7"
01801     "..H3.5..89....I.J.....NL."
01802     "1B..9.FAP.6.N....537.H..O"
01803     "......1..N...O...LC.68.PG"
01804     "KOA.FNBH.....7.C.....M..6"
01805     "45.ECP.I..N.F.J1...MK.79."
01806     "I.L..8.O..9.P...A...2.1J."
01807     "..621.D.M.....B8LG..P..CH"
01808     ".HP.N7E.L1....3..B..O.G45"
01809     "....BIO....5.C.P...FN48E."
01810     "...FL.....2.DH..17..59O.."
01811     "..I.MF..2G.N...A6O.HC.PB."
01812     "72.1..L...IM.96E.45G....."
01813     "..9...7M..A.O...I...L...."
01814     ".C.JA.........1.....E.48."
01815     "O.BI.......PHL.6..1....5C"
01816     "G6M...N4FI8...K..H.E....."
01817     ".L..4.917....BE.G8F.M.I.."
01818     "8F......5.O3..4...9.....K",
01819     // 90
01820     //".N..JG..O7591...8I....L.."
01821     ".ND.JG6.O7591..F8IP.4.LM."
01822     "FG.M.B8...P.E...CJ..H...."
01823     "...........G.4.H.D.O.NJA2"
01824     ".....J.EN4.L6MA.B.2......"
01825     "HE..2..DC.....F4KMA.B.9O8"
01826     "M....62...47C19......E5.."
01827     ".I2.8M.JGL...ADN..K..3.F7"
01828     "..H3.5..89....I.J.....NL."
01829     "1B..9.FAP.6.N....537.H..O"
01830     "......1..N...O...LC.68.PG"
01831     "KOA.FNBH.....7.C.....M..6"
01832     "45.ECP.I..N.F.J1...MK.79."
01833     "I.L..8.O..9.P...A...2.1J."
01834     "..621.D.M.....B8LG..P..CH"
01835     ".HP.N7E.L1....3..B..O.G45"
01836     "....BIO....5.C.P...FN48E."
01837     "...FL.....2.DH..17..59O.."
01838     "..I.MF..2G.N...A6O.HC.PB."
01839     "72.1..L...IM.96E.45G....."
01840     "..9...7M..A.O...I...L...."
01841     ".C.JA.........1.....E.48."
01842     "O.BI.......PHL.6..1....5C"
01843     "G6M...N4FI8...K..H.E....."
01844     ".L..4.917....BE.G8F.M.I.."
01845     "8F......5.O3..4...9.....K"
01846   };
01847 
01849   const unsigned int n_examples = sizeof(examples)/sizeof(char*);
01850 
01852   int example_size(const char *s) {
01853     int l = std::strlen(s);
01854     int res = static_cast<int>(std::sqrt(std::sqrt(static_cast<float>(l))));
01855     assert(res*res*res*res == l);
01856     return res;
01857   }
01858 
01860   int sudokuField(const char *s, int n, int i, int j) {
01861     assert(example_size(s) == std::sqrt(static_cast<float>(n)));
01862     assert(i >= 0 && i < n);
01863     assert(j >= 0 && j < n);
01864     char c = s[j*n + i];
01865     if (!std::isalnum(c))
01866       return 0;
01867     if (std::isdigit(c))
01868       return c - '0';
01869     if (std::islower(c))
01870       c = static_cast<char>(std::toupper(c));
01871     // std::alpha(c) == true && std::isupper(c)
01872     int res = (c - 'A') + 10;
01873     if (res > n) return 0;
01874     else return res;
01875   }
01877 }
01878 
01879 // STATISTICS: example-any