# Kind of Sudoku Solver

I need a special sudoku solver. It's for an online flash sudoku game. This version is different from standard sudoku. You get a sudoku grid with about 12-15 tiles. Then you get a number (1-9), which you have to place on the grid. You can place the number / tile from every side, it slides from the outer side ton one already filled field of the 81 fields. This means it can only dock onto an existing number /filled field. If there is no number in the line, you cannot place it in that line, because it has no tile to dock on. After you have placed the number, you get a new number which can be placed. This goes on until the sudoku is filled. There are 6 Jokers, 2 yellow ones and 4 white ones. The 2 yellow ones count as full number, and a line/box can be completed with bonus. The 4 white ones are only placeholder / spacer if you cant place the tile / number. I dont want to use the white jokers, cause they don't give bonus for line / box completion. I have 3 lifes in that game. If i misplace a tile in the game, i will lose one life and a new number will appear. The catch is to place the numbers / tiles, that no empty fields are existing (no sudoku bonus in end) Apperantly the numbers you get every turn can dock on alot of positions. Your task is to build a windows application, which finds the optimal solution to place the current tile, that you got the optimum chance to complete the sudoko. The yellow jokers can be used, the white ones not (less bonus). I don't know alot of solvers, but i think after the starting grid (which i type into the free fields of the windows app) it should give me the best position for that number / tile to set, that the sudoku can be completed with most points. So i think it should be placed there where the least possible numbers are (left?). Maybe you need to (brute force?) recalculate every sudoku possible after each placed tile.

## Deliverables

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

Functions of the Program: I get a graphically grid. I enter the "pre"defined grid. Then i enter the Next Number/Tile I have to place, and the sudoku solver gives me the best / optimal position for that number. I think there must be some kind of brute force / possibility calculation, but that's your task.. The best/optimal position shoul be marked/borered green and the worst position red. the "middle" positions should be marked yellow... maybe do a gradient from green(best) - red (worst). Additionally it should also show me the possible numbers inside the yet unfilled fields. After I entered the number in a field (mostly i'll enter the number into the best / optimalst / green field), it waits for my input (next number). After i typed in the next number, it should automatically begin to recalculate the best position for that tile. That goes on until i finished the sudoku. A Progress bar / some stats about possibilities would be nice. Also a option for Dualcore machines should be added (I Got a dualcore system, but should also be able to run on single core) Since i only have 10 minutes to solve each game, the calculations should be as fast as possible (only few seconds for each turn) What i liked as in user interface and what i used before is here called Chisai Sudoku: [url removed, login to view] After a few placed tile it should be narrowed down to a unique sudoku. Have in mind 2 yellow jokers are available. The tile must be placed so, that no empty field is created. e.g. if the number 3 is put from right side next to the 2, the field in the middle can't be reached anymore (marked as E), making the sudoku final bonus impossible 2 x x < 3 2 3 x < 3 1 x 4 1 E 4 9 2 8 9 2 8 Example starting grid from the game: ( first number to place = 6) x = free field X = free possible dock x7x|1xx|xxx xxx|xxx|xxx xxx|5xx|xx7 ----------- xxx|xxx|xxx xxx|xxx|x7x xxx|xxx|xxx ----------- xx1|x3x|78x x97|x1x|4xx xxx|xxx|xx1 A few good informations about sudoku strategies are here: [url removed, login to view]

## Platform

Windows XP