Giter Site home page Giter Site logo

lazysudoku's Introduction

LazySudoku

A simple python script for solving Sudoku puzzles

Background

On a 10+ hour flight home from Hawaii, the buggy United Android app was not working, so I was unable to watch any movies. The only alternative was attempting to complete Sudoku puzzles found in a magazine in the seat back pocket. After completing the 'easy' puzzle, I decided it would be more worthwhile to write a python script that would solve the remaining puzzles. It took several hours to write it, but now I can solve any Sudoku puzzle instantly...

Usage

Simply run the script as follows:

$ python lazy_sudoku.py <board.txt>

Encode the board (<board.txt>) in the following format:

81x9x24xx
xx764x25x
xxxxx5xx1
2x1x5x3xx
xxx839xxx
xx3x2x8x6
5xx7xxxxx
x79x186xx
xx25x4x89

Example

There are three examples from the United magazine: example_easy.txt, example_medium.txt, and example_hard.txt. There is also example_super.txt which is supposedly the world's hardest sudoku.

$ python lazy_sudoku.py example_hard.txt
INPUT BOARD:
 | | | |6| |4| |8
 |9|5|2| |4| | |
4| | | | | | | |9
 |4| |8| | | |9|7
 | |2|9| |5|8| |
9|8| | | |2| |3|
1| | | | | | | |5
 | | |1| |3|6|8|
6| |8| |5| | | |

SOLVED BOARD:
2|1|7|3|6|9|4|5|8
8|9|5|2|7|4|1|6|3
4|6|3|5|8|1|7|2|9
5|4|1|8|3|6|2|9|7
3|7|2|9|1|5|8|4|6
9|8|6|7|4|2|5|3|1
1|2|4|6|9|8|3|7|5
7|5|9|1|2|3|6|8|4
6|3|8|4|5|7|9|1|2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.