{"id":17250669,"url":"https://github.com/statusfailed/sudoku","last_synced_at":"2025-03-26T06:43:01.141Z","repository":{"id":31517829,"uuid":"35082249","full_name":"statusfailed/sudoku","owner":"statusfailed","description":null,"archived":false,"fork":false,"pushed_at":"2015-05-05T06:35:21.000Z","size":112,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T08:18:58.716Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/statusfailed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-05T06:33:44.000Z","updated_at":"2015-05-05T06:35:21.000Z","dependencies_parsed_at":"2022-09-09T10:22:06.671Z","dependency_job_id":null,"html_url":"https://github.com/statusfailed/sudoku","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statusfailed%2Fsudoku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statusfailed%2Fsudoku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statusfailed%2Fsudoku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statusfailed%2Fsudoku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/statusfailed","download_url":"https://codeload.github.com/statusfailed/sudoku/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245605709,"owners_count":20643030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-10-15T06:49:17.601Z","updated_at":"2025-03-26T06:43:01.119Z","avatar_url":"https://github.com/statusfailed.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sudoku Solver\n\nA quick attempt at writing a sudoku solver.\nI make no guarantees as to the quality or correctness of this code.\nIt works on a single test case I tried.\n\n## Idea\n\n1. If the board is impossible or has been solved, stop.\n2. In each cell, write down all the possible values that could go there.\n   This is the set of values not appearing in the row, column, or \"box\"¹ for\n   that cell.\n3. The most constrained cell is the one with fewest possibilities.\n   Starting with the most constrained, try to fix each of its values,\n   and repeat the algorithm with each of these possibilities until \n   a solution is found.\n\n¹ a box is one of the nine 3x3 squares making up the sudoku grid.\n  The box that a cell belongs to is the one it's inside.\n\n## Data representation\n\nCell values are represented as lists of possible values.\n\n* An empty list in any cell means the whole board is impossible.\n* A singleton list means the cell value has been \"fixed\", and now cannot\n  change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatusfailed%2Fsudoku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatusfailed%2Fsudoku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatusfailed%2Fsudoku/lists"}