static void Main(string[] args) { Stopwatch sw = new Stopwatch(); Sudoku wikipediaSudoku = CreateWikipediaSudoku(); System.Console.WriteLine("Sudoku from the Wikipedia page https://en.wikipedia.org/wiki/Sudoku"); Solver.Console.Show(wikipediaSudoku.Values); wikipediaSudoku.Solve(); Solver.Console.Show(wikipediaSudoku.Values); sw.Reset(); sw.Start(); Killer wikipediaKiller = CreateWikipediaKiller(); System.Console.WriteLine("Killer from the Wikipedia page https://en.wikipedia.org/wiki/Killer_sudoku"); wikipediaKiller.Solve(); Solver.Console.Show(wikipediaKiller.Values); sw.Stop(); System.Console.WriteLine("Killer solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); sw.Reset(); sw.Start(); KenKen wikipediaKenKen = CreateWikipediaKenKen(); System.Console.WriteLine("KenKen from the Wikipedia page https://en.wikipedia.org/wiki/KenKen"); wikipediaKenKen.Solve(); Solver.Console.Show(wikipediaKenKen.Values); sw.Stop(); System.Console.WriteLine("KenKen solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); Futoshiki wikipediaFutoshiki = CreateWikipediaFutoshiki(); System.Console.WriteLine("Futoshiki from the Wikipedia page https://en.wikipedia.org/wiki/Futoshiki"); Solver.Console.Show(wikipediaFutoshiki.Values); wikipediaFutoshiki.Solve(); Solver.Console.Show(wikipediaFutoshiki.Values); sw.Reset(); sw.Start(); Kakuro wikipediaKakuro = CreateWikipediaKakuro(); System.Console.WriteLine("Kakuro from the Wikipedia page https://en.wikipedia.org/wiki/Kakuro"); wikipediaKakuro.Solve(); Solver.Console.Show(wikipediaKakuro.Values); sw.Stop(); System.Console.WriteLine("Kakuro solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); Sudoku sudoku = CreateSudoku1(); System.Console.WriteLine("Sudoku Mild No 9596 from the Times, 16th Jan 2018"); Solver.Console.Show(sudoku.Values); sudoku.Solve(); Solver.Console.Show(sudoku.Values); Sudoku sudoku2 = CreateSudoku2(); System.Console.WriteLine("Sudoku Difficult No 9597 from the Times, 16th Jan 2018"); Solver.Console.Show(sudoku2.Values); sudoku2.Solve(); Solver.Console.Show(sudoku2.Values); Sudoku sudoku3 = CreateSudoku3(); System.Console.WriteLine("Sudoku Super fiendish No 9598 from the Times, 16th Jan 2018"); Solver.Console.Show(sudoku3.Values); sudoku3.Solve(); Solver.Console.Show(sudoku3.Values); sw.Reset(); sw.Start(); Killer killer = CreateKiller(); System.Console.WriteLine("Killer Tough No 5820 from the Times, 16th Jan 2018"); killer.Solve(); Solver.Console.Show(killer.Values); sw.Stop(); System.Console.WriteLine("Killer solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); sw.Reset(); sw.Start(); KenKen kenKen = CreateKenKen(); System.Console.WriteLine("KenKen Medium No 4226 from the Times, 16th Jan 2018"); kenKen.Solve(); Solver.Console.Show(kenKen.Values); sw.Stop(); System.Console.WriteLine("KenKen solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); Futoshiki futoshiki = CreateFutoshiki(); System.Console.WriteLine("Futoshiki No 3087 from the Times, 16th Jan 2018"); Solver.Console.Show(futoshiki.Values); futoshiki.Solve(); Solver.Console.Show(futoshiki.Values); sw.Reset(); sw.Start(); Kakuro kakuro = CreateKakuro(); System.Console.WriteLine("Kakuro No 2046 from the Times, 16th Jan 2018"); kakuro.Solve(); Solver.Console.Show(kakuro.Values); sw.Stop(); System.Console.WriteLine("Kakuro solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds"); System.Console.WriteLine(); System.Console.ReadLine(); }