{"id":20755225,"url":"https://github.com/formix/sudoku","last_synced_at":"2026-04-28T05:37:27.719Z","repository":{"id":84235180,"uuid":"43098066","full_name":"formix/sudoku","owner":"formix","description":"A Java Sudoku Solver","archived":false,"fork":false,"pushed_at":"2018-03-28T13:30:47.000Z","size":1476,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-26T16:51:40.666Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/formix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-24T23:15:51.000Z","updated_at":"2018-03-28T13:30:48.000Z","dependencies_parsed_at":"2023-05-24T02:15:33.067Z","dependency_job_id":null,"html_url":"https://github.com/formix/sudoku","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/formix/sudoku","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formix%2Fsudoku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formix%2Fsudoku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formix%2Fsudoku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formix%2Fsudoku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/formix","download_url":"https://codeload.github.com/formix/sudoku/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formix%2Fsudoku/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32368533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T09:24:00.654Z","updated_at":"2026-04-28T05:37:27.668Z","avatar_url":"https://github.com/formix.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sudoku\n\n*A Java Sudoku Solver*\n\nBorn from my frustration of not being able to solve even a simple sudoku \nmyself, I did this solver without looking at any existing algorithms. I\nconsider that I do not have to bother to solve a single sudoku anymore\nsince I solved them all with this program.\n\n[Version 1.0.0](https://github.com/formix/sudoku/releases/tag/1.0.0)\n\n![Sudoku Solver](https://cloud.githubusercontent.com/assets/8600014/10090085/137b2aae-62f9-11e5-8ae3-cda2ca52b1b7.png)\n\nIt takes under 2 seconds 80% of the time to solve an evil grid. Sometimes, \nthe resolver get stuck in a local optimum and will take more than 10 seconds \nor more to resolve. In these rare cases, the output message list (bottom \nsection) may becomes too big and past 10000 messages, it slows down the whole\napplication. This is not a core solver algorithm issue but a UI problem. When it\nhappens, cancel the execution, press the \"Clear\" button and try solving again.\n\nThe algorithm is based on [Markov Decision Process](https://en.wikipedia.org/wiki/Markov_decision_process)\nprinciple.\n\n## How To Start The Program\n\n### From Source\n\nFrom Eclipse, run the class `org.formix.sudoku.gui.SudokuSolver`.\n\n### From The Executable Jar\n\nFrom the command line, run `javaw -jar sudokusolver-1.0.0-jwd.jar`\n\n## Usage\n\nYou can create your own sudoku by entering your base numbers and then\nCTRL-Clicking the cell you want to freeze.\n\n### Top Button Bar\n\n#### Level DropDown\n\nAllows selection of the level of difficulty for the downloaded grid.\n\n#### Download\n\nGets a sudoku grid from [websudoku.com](http://like.websudoku.com) of the \nselected level.\n\n#### Generate\n\nGenerates a random sudoku with 26 fixed cells without regard of the selected \nlevel. My sudoku generation algorithm is crude and produce multi-solution\neasy-to-resolve grids. It sucks.\n\n#### Cancel\n\nStops the current execution.\n\n### Left Button Bar\n\n#### Load\n\nLoads a previously saved sudoku grid.\n\n#### Save\n\nSaves the current sudoku grid.\n\n#### Solve\n\nSolves the current sudoku grid.\n\n#### Clear\n\nClears all writable cells. Keep frozen cells in place.\n\n#### Empty\n\nEmpties the whole grid and the message log.\n\n### Message Log\n\nThe bottom list displays messages generated while solving the grid.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformix%2Fsudoku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fformix%2Fsudoku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformix%2Fsudoku/lists"}