BLANK SUDOKU GRIDS

A great set of sudoku puzzles. The aim is to fill the grid so that each row, column and box contains the same numbers, usually one to nine. Simple! Of course not! Our easy ones might be, but the later ones are fiendishly difficult.

Description

Given a partially filled 9×9 2D array ‘grid[9][9]’, the goal is to assign digits (from 1 to 9) to the empty cells so that every row, column, and subgrid of size 3×3 contains exactly one instance of the digits from 1 to 9.

 

Downloadable Templates:

blank sudoku grid 31

blank sudoku grid 32

blank sudoku grid 34

blank sudoku grid 35

blank sudoku grid 37

blank sudoku grid 38

blank sudoku grid 39

blank sudoku grid 40

blank sudoku grid 41

blank sudoku grid 42

blank sudoku grid 43

blank sudoku grid 44

blank sudoku grid 45

blank sudoku grid 47

blank sudoku grid 48

blank sudoku grid 49

blank sudoku grid 01

blank sudoku grid 02

blank sudoku grid 03

blank sudoku grid 04

blank sudoku grid 05

blank sudoku grid 06

blank sudoku grid 08

blank sudoku grid 09

blank sudoku grid 10

blank sudoku grid 11

blank sudoku grid 12

blank sudoku grid 13

blank sudoku grid 16

blank sudoku grid 17

blank sudoku grid 18

blank sudoku grid 19

blank sudoku grid 21

blank sudoku grid 22

blank sudoku grid 23

blank sudoku grid 24

blank sudoku grid 25

blank sudoku grid 26

blank sudoku grid 27

blank sudoku grid 28

blank sudoku grid 29

blank sudoku grid 30

   ***

Example:

Input:
grid = { {3, 0, 6, 5, 0, 8, 4, 0, 0}, 
         {5, 2, 0, 0, 0, 0, 0, 0, 0}, 
         {0, 8, 7, 0, 0, 0, 0, 3, 1}, 
         {0, 0, 3, 0, 1, 0, 0, 8, 0}, 
         {9, 0, 0, 8, 6, 3, 0, 0, 5}, 
         {0, 5, 0, 0, 9, 0, 6, 0, 0}, 
         {1, 3, 0, 0, 0, 0, 2, 5, 0}, 
         {0, 0, 0, 0, 0, 0, 0, 7, 4}, 
         {0, 0, 5, 2, 0, 6, 3, 0, 0} }
Output:
          3 1 6 5 7 8 4 9 2
          5 2 9 1 3 4 7 6 8
          4 8 7 6 2 9 5 3 1
          2 6 3 4 1 5 9 8 7
          9 7 4 8 6 3 1 2 5
          8 5 1 7 9 2 6 4 3
          1 3 8 9 4 7 2 5 6
          6 9 2 3 5 1 8 7 4
          7 4 5 2 8 6 3 1 9
Explanation: Each row, column and 3*3 box of 
the output matrix contains unique numbers.

Input:    
grid = { { 3, 1, 6, 5, 7, 8, 4, 9, 2 },
         { 5, 2, 9, 1, 3, 4, 7, 6, 8 },
         { 4, 8, 7, 6, 2, 9, 5, 3, 1 },
         { 2, 6, 3, 0, 1, 5, 9, 8, 7 },
         { 9, 7, 4, 8, 6, 0, 1, 2, 5 },
         { 8, 5, 1, 7, 9, 2, 6, 4, 3 },
         { 1, 3, 8, 0, 4, 7, 2, 0, 6 },
         { 6, 9, 2, 3, 5, 1, 8, 7, 4 },
         { 7, 4, 5, 0, 8, 6, 3, 1, 0 } };
Output:
           3 1 6 5 7 8 4 9 2 
           5 2 9 1 3 4 7 6 8 
           4 8 7 6 2 9 5 3 1 
           2 6 3 4 1 5 9 8 7 
           9 7 4 8 6 3 1 2 5 
           8 5 1 7 9 2 6 4 3 
           1 3 8 9 4 7 2 5 6 
           6 9 2 3 5 1 8 7 4 
           7 4 5 2 8 6 3 1 9 
Explanation: Each row, column and 3*3 box of 
the output matrix contains unique numbers.
Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

Method 1: Simple.
Approach: The naive approach is to generate all possible configurations of numbers from 1 to 9 to fill the empty cells. Try every configuration one by one until the correct configuration is found, i.e. for every unassigned position fill the position with a number from 1 to 9. After filling all the unassigned position check if the matrix is safe or not. If safe print else recurs for other cases.
Algorithm:

  1. Create a function that checks if the given matrix is valid sudoku or not. Keep Hashmap for the row, column and boxes. If any number has a frequency greater than 1 in the hashMap return false else return true;
  2. Create a recursive function that takes a grid and the current row and column index.
  3. Check some base cases. If the index is at the end of the matrix, i.e. i=N-1 and j=N then check if the grid is safe or not, if safe print the grid and return true else return false. The other base case is when the value of column is N, i.e j = N, then move to next row, i.e. i++ and j = 0.
  4. if the current index is not assigned then fill the element from 1 to 9 and recur for all 9 cases with the index of next element, i.e. i, j+1. if the recursive call returns true then break the loop and return true.
  5. if the current index is assigned then call the recursive function with index of next element, i.e. i, j+1

 

Output

3 1 6 5 7 8 4 9 2 
5 2 9 1 3 4 7 6 8 
4 8 7 6 2 9 5 3 1 
2 6 3 4 1 5 9 8 7 
9 7 4 8 6 3 1 2 5 
8 5 1 7 9 2 6 4 3 
1 3 8 9 4 7 2 5 6 
6 9 2 3 5 1 8 7 4 
7 4 5 2 8 6 3 1 9

Complexity Analysis:

  • Time complexity: O(9^(n*n)).
    For every unassigned index there are 9 possible options so the time complexity is O(9^(n*n)).
  • Space Complexity: O(n*n).
    To store the output array a matrix is needed.

Method 2: Backtracking.
Approach:
Like all other Backtracking problems, Sudoku can be solved by one by one assigning numbers to empty cells. Before assigning a number, check whether it is safe to assign. Check that the same number is not present in the current row, current column and current 3X3 subgrid. After checking for safety, assign the number, and recursively check whether this assignment leads to a solution or not. If the assignment doesn’t lead to a solution, then try the next number for the current empty cell. And if none of the number (1 to 9) leads to a solution, return false and print no solution exists.
Algorithm:

  1. Create a function that checks after assigning the current index the grid becomes unsafe or not. Keep Hashmap for a row, column and boxes. If any number has a frequency greater than 1 in the hashMap return false else return true; hashMap can be avoided by using loops.
  2. Create a recursive function that takes a grid.
  3. Check for any unassigned location. If present then assign a number from 1 to 9, check if assigning the number to current index makes the grid unsafe or not, if safe then recursively call the function for all safe cases from 0 to 9. if any recursive call returns true, end the loop and return true. If no recursive call returns true then return false.
  4. If there is no unassigned location then return true.

Output

3 1 6 5 7 8 4 9 2 
5 2 9 1 3 4 7 6 8 
4 8 7 6 2 9 5 3 1 
2 6 3 4 1 5 9 8 7 
9 7 4 8 6 3 1 2 5 
8 5 1 7 9 2 6 4 3 
1 3 8 9 4 7 2 5 6 
6 9 2 3 5 1 8 7 4 
7 4 5 2 8 6 3 1 9

Complexity Analysis:

  • Time complexity: O(9^(n*n)).
    For every unassigned index, there are 9 possible options so the time complexity is O(9^(n*n)). The time complexity remains the same but there will be some early pruning so the time taken will be much less than the naive algorithm but the upper bound time complexity remains the same.
  • Space Complexity: O(n*n).
    To store the output array a matrix is needed.

***

Here’s what else you can expect from our legal and business services,

We can help you to:

    • Organize and structure all departments of your business;
    • Be more efficient by smoothing business processes;
    • Guide your team tasks with standard operating procedures;
    • Save a lot of time and boost your productivity;
    • Save thousands of money in lawyer fees;
    • Grow your business and close great deals; and
    • On matters: Negotiation, Mediation, Arbitration and Court Litigation.

It’s time to bring your life and business to another level. Start to optimize and streamline your life and business today. Get all the professional-grade personal and business templates you need to plan, start, organize, manage, finance, and grow your life and business; one click away in the below links!

 

FREE DOWNLOADABLE PERSONAL TEMPLATES

TEMPLATES TEMPLATES

For our ONLINE legal/business services, please follow this instruction:

    1. click the following website link, www.raynessanalytica.com.
    2. once on the website’s homepage, an ONLINE brown chat box will appear at the right bottom end of screen;
    3. click on the chat tab, insert NAME, EMAIL and PHONE NUMBER; and
    4. proceed when ready, letting us know the issue(s) and eliciting HELP from our lawyers and business experts.

P.S. Sometimes all that’s needed is a form, document or tip that can solve problems or issues that repeat in your life or business. To save you from unnecessary legal costs by hiring lawyer(s), here are customizable smart templates/forms that you can use as often as you need; flexible enough to allow for changes without leaving you exposed. Click the following link, FREE CUSTOMISABLE LEGAL TEMPLATES to search for the desired template, download it and embark on your great legal adventure – and don’t forget to bring the bug spray. For each template, we have numerous different customizable documents.

Go to the “Order Now” page and make a request.

We look forward to addressing your concerns and earning your trust and confidence in us!

 

📚[RNA (Legal and Business Consultants) 🤝🏾 KUBWA & CO. ADVOCATES]⚖️

Someday everyone will be doing it Our Way. We’re doing it Now!

The Centre in [East] Africa for Legal and Business Élites

Kenya’s E-Lawyers and Business Specialists

Reviews

There are no reviews yet.

Be the first to review “BLANK SUDOKU GRIDS”

Your email address will not be published. Required fields are marked *