Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Correct

70Size
Leading solution size is 29.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%%
zm=[13 4 3 6 1 8 7 10 5 12 11 14 9 16 15 2 ;2 5 8 7 6 9 12 11 10 13 16 15 14 1 4 3 ;15 14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 ;16 11 10 9 4 15 14 13 8 3 2 1 12 7 6 5 ;1 8 7 10 5 12 11 14 9 16 15 2 13 4 3 6 ;6 9 12 11 10 13 16 15 14 1 4 3 2 5 8 7 ;3 2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 ;4 15 14 13 8 3 2 1 12 7 6 5 16 11 10 9 ;5 12 11 14 9 16 15 2 13 4 3 6 1 8 7 10 ;10 13 16 15 14 1 4 3 2 5 8 7 6 9 12 11 ;7 6 9 4 11 10 13 8 15 14 1 12 3 2 5 16 ;8 3 2 1 12 7 6 5 16 11 10 9 4 15 14 13 ;9 16 15 2 13 4 3 6 1 8 7 10 5 12 11 14 ;14 1 4 3 2 5 8 7 6 9 12 11 10 13 16 15 ;11 10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 ;12 7 6 5 16 11 10 9 4 15 14 13 8 3 2 1 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
2
Pass
 
%%
zm=[7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 ;20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 ;27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 ;34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 ;35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 ;12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 ;13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 ;26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 ;33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 ;4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 ;5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 ;18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 ;19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 ;32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 ;3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 28 26 13 24 11 4 33 32 19 30 17 10 ;10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 ;11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 ;24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 ;25 18 23 34 15 14 31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 ;2 7 12 35 28 21 8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 ;9 8 31 6 29 22 15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 ;16 27 26 1 36 11 22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 ;17 4 33 32 13 24 23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 ;30 5 10 3 20 19 36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 ;31 24 29 4 21 20 1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 ;8 13 18 5 34 27 14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 ;15 14 1 12 35 28 21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 ;22 33 32 7 6 17 28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 ;23 10 3 2 19 30 29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 ;36 11 16 9 26 25 6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 ;1 30 35 10 27 26 7 36 5 16 33 32 13 6 11 22 3 2 19 12 17 28 9 8 25 18 23 34 15 14 31 24 29 4 21 20 ;14 19 24 11 4 33 20 25 30 17 10 3 26 31 36 23 16 9 32 1 6 29 22 15 2 7 12 35 28 21 8 13 18 5 34 27 ;21 20 7 18 5 34 27 26 13 24 11 4 33 32 19 30 17 10 3 2 25 36 23 16 9 8 31 6 29 22 15 14 1 12 35 28 ;28 3 2 13 12 23 34 9 8 19 18 29 4 15 14 25 24 35 10 21 20 31 30 5 16 27 26 1 36 11 22 33 32 7 6 17 ;29 16 9 8 25 36 35 22 15 14 31 6 5 28 21 20 1 12 11 34 27 26 7 18 17 4 33 32 13 24 23 10 3 2 19 30 ;6 17 22 15 32 31 12 23 28 21 2 1 18 29 34 27 8 7 24 35 4 33 14 13 30 5 10 3 20 19 36 11 16 9 26 25 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
3
Pass
 
%%
zm=[5 8 7 10 9 12 11 14 13 16 15 2 1 4 3 6 ;14 13 13 11 2 1 16 15 6 5 4 3 10 9 8 7 ;3 6 1 4 7 10 5 8 11 14 9 12 15 2 13 16 ;16 15 2 9 4 3 6 13 8 7 10 1 12 11 14 5 ;9 12 11 14 13 16 15 2 1 4 3 6 5 8 7 10 ;2 1 16 15 6 5 4 3 10 9 8 7 14 13 12 11 ;7 10 5 8 11 14 9 12 15 2 13 16 3 6 1 4 ;4 3 6 13 8 7 10 1 12 11 14 5 16 15 2 9 ;13 16 15 2 1 4 3 6 5 8 7 10 9 12 11 14 ;6 5 4 3 10 9 8 7 14 13 12 11 2 1 16 15 ;11 14 9 12 15 2 13 16 3 6 1 4 7 10 5 8 ;8 7 10 1 12 11 14 5 16 15 2 9 4 3 6 13 ;1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 2 ;10 9 8 7 14 13 12 11 2 1 16 15 6 5 4 3 ;15 2 13 16 3 6 1 4 7 10 5 8 11 14 9 12 ;12 11 14 5 16 15 2 9 4 3 6 13 8 7 10 1 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
4
Pass
 
%%
zm=[5 12 3 14 9 16 7 2 13 4 11 6 1 8 15 10 ;6 9 4 11 10 13 8 16 14 1 12 3 2 5 16 7 ;7 10 1 16 11 14 5 4 15 2 9 8 3 6 13 12 ;8 15 2 13 12 3 6 1 16 7 10 5 4 11 14 9 ;9 16 7 2 13 4 11 6 1 8 15 10 5 12 3 14 ;10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 11 ;11 14 5 4 15 2 9 8 3 6 13 12 7 10 1 16 ;12 3 6 1 16 7 10 5 4 11 14 9 8 15 2 13 ;13 4 11 6 1 8 15 10 5 12 3 14 9 16 7 2 ;14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 15 ;15 2 9 8 3 6 13 12 7 10 1 16 11 14 5 4 ;16 7 10 5 4 11 14 9 8 15 2 13 12 3 6 1 ;1 8 15 10 5 12 3 14 9 16 7 2 13 4 11 6 ;2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 3 ;3 6 13 12 7 10 1 16 11 14 5 4 15 2 9 8 ;4 11 14 9 8 15 2 13 12 3 6 1 16 7 10 5 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
5
Pass
 
%%
zm=[1 3 8 4 6 2 7 9 5 ;2 7 6 5 1 9 8 4 3 ;9 5 4 3 8 7 6 2 1 ;4 6 2 7 9 5 1 3 8 ;5 1 9 8 4 3 2 7 6 ;3 8 7 6 2 1 9 5 4 ;7 9 5 1 3 8 4 6 2 ;8 4 3 2 7 6 5 1 9 ;6 2 1 9 5 4 3 8 7 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
6
Pass
 
%%
zm=[31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 ;14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 ;3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 ;16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 ;23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 ;30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 ;1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 ;20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 ;9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 ;22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 ;29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 ;36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 ;7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 ;26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 29 9 14 25 6 29 34 15 20 31 12 35 4 21 ;15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 ;28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 ;35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 ;6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 ;13 18 29 4 15 2 19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 ;32 7 24 11 16 33 2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 ;21 20 31 30 23 10 27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 ;34 27 8 19 6 35 4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 ;5 22 3 26 1 36 11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 ;12 17 28 9 14 25 18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 ;19 24 35 10 21 8 25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 ;2 13 30 17 22 3 8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 ;27 26 1 36 29 16 33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 ;4 33 14 25 12 5 10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 ;11 28 9 32 7 6 17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 ;18 23 34 15 20 31 24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 ;25 30 5 16 27 14 31 36 11 22 33 20 1 6 17 28 3 26 7 12 23 34 9 32 13 18 29 4 15 2 19 24 35 10 21 8 ;8 19 36 23 28 9 14 25 6 29 34 15 20 31 12 35 4 21 26 1 18 5 10 27 32 7 24 11 16 33 2 13 30 17 22 3 ;33 32 7 6 35 22 3 2 13 12 5 28 9 8 19 18 11 34 15 14 25 24 17 4 21 20 31 30 23 10 27 26 1 36 29 16 ;10 3 20 31 18 11 16 9 26 1 24 17 22 15 32 7 30 23 28 21 2 13 36 29 34 27 8 19 6 35 4 33 14 25 12 5 ;17 34 15 2 13 12 23 4 21 8 19 18 29 10 27 14 25 24 35 16 33 20 31 30 5 22 3 26 1 36 11 28 9 32 7 6 ;24 29 4 21 26 1 30 35 10 27 32 7 36 5 16 33 2 13 6 11 22 3 8 19 12 17 28 9 14 25 18 23 34 15 20 31 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
7
Pass
 
%%
zm=[1 12 7 14 5 16 11 2 9 4 15 6 13 8 3 10 ;10 13 16 3 14 2 4 7 2 5 8 11 6 9 12 15 ;15 2 5 8 3 6 9 12 7 10 13 16 11 14 1 4 ;4 11 6 9 8 15 10 13 12 3 14 1 16 7 2 5 ;5 16 11 2 9 4 15 6 13 8 3 10 1 12 7 14 ;14 1 4 7 2 5 8 11 6 9 12 15 10 13 16 3 ;3 6 9 12 7 10 13 16 11 14 1 4 15 2 5 8 ;8 15 10 13 12 3 14 1 16 7 2 5 4 11 6 9 ;9 4 15 6 13 8 3 10 1 12 7 14 5 16 11 2 ;2 5 8 11 6 9 12 15 10 13 16 3 14 1 4 7 ;7 10 13 16 11 14 1 4 15 2 5 8 3 6 9 12 ;12 3 14 1 16 7 2 5 4 11 6 9 8 15 10 13 ;13 8 3 10 1 12 7 14 5 16 11 2 9 4 15 6 ;6 9 12 15 10 13 16 3 14 1 4 7 2 5 8 11 ;11 14 1 4 15 2 5 8 3 6 9 12 7 10 13 16 ;16 7 2 5 4 11 6 9 8 15 10 13 12 3 14 1 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
8
Pass
 
%%
zm=[7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 ;26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 ;27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 ;22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 ;5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 ;24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 ;13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 ;32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 ;33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 ;28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 ;11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 ;30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 ;19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 ;2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 ;3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 ;34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 ;17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 ;36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 ;25 24 35 34 27 2 31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 ;8 7 30 11 16 33 14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 ;9 32 31 18 5 10 15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 ;4 15 20 19 36 29 10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 ;23 28 21 26 13 12 29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 ;6 17 22 3 14 1 12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 ;31 30 5 4 33 8 1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 ;14 13 36 17 22 3 20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 ;15 2 1 24 11 16 21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 ;10 21 26 25 6 35 16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 ;29 34 27 32 19 18 35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 ;12 23 28 9 20 7 18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 ;1 36 11 10 3 14 7 6 17 16 9 20 13 12 23 22 15 26 19 18 29 28 21 32 25 24 35 34 27 2 31 30 5 4 33 8 ;20 19 6 23 28 9 26 25 12 29 34 15 32 31 18 35 4 21 2 1 24 5 10 27 8 7 30 11 16 33 14 13 36 17 22 3 ;21 8 7 30 17 22 27 14 13 36 23 28 33 20 19 6 29 34 3 26 25 12 35 4 9 32 31 18 5 10 15 2 1 24 11 16 ;16 27 32 31 12 5 22 33 2 1 18 11 28 3 8 7 24 17 34 9 14 13 30 23 4 15 20 19 36 29 10 21 26 25 6 35 ;35 4 33 2 25 24 5 10 3 8 31 30 11 16 9 14 1 36 17 22 15 20 7 6 23 28 21 26 13 12 29 34 27 32 19 18 ;18 29 34 15 26 13 24 35 4 21 32 19 30 5 10 27 2 25 36 11 16 33 8 31 6 17 22 3 14 1 12 23 28 9 20 7 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
9
Pass
 
%%
zm=[1 8 11 2 5 12 15 6 9 16 3 10 13 4 7 14 ;14 9 12 7 2 13 16 11 6 1 4 15 10 5 8 3 ;3 10 13 4 7 14 1 8 11 2 5 12 15 6 9 16 ;16 15 6 5 4 3 10 9 8 7 14 13 12 11 2 1 ;5 12 15 6 9 16 3 10 13 4 7 14 1 8 11 2 ;2 13 16 11 6 1 4 15 10 5 8 3 14 9 12 7 ;7 14 1 8 11 2 5 12 15 6 9 16 3 10 13 4 ;4 3 10 9 8 7 14 13 12 11 2 1 16 15 6 5 ;9 16 3 10 13 4 7 14 1 8 11 2 5 12 15 6 ;6 1 4 15 10 5 8 3 14 9 12 7 2 13 16 11 ;11 2 5 12 15 6 9 16 3 10 13 4 7 14 1 8 ;8 7 14 13 12 11 2 1 16 15 6 5 4 3 10 9 ;13 4 7 14 1 8 11 2 5 12 15 6 9 16 3 10 ;10 5 8 3 14 9 12 7 2 13 16 11 6 1 4 15 ;15 6 9 16 3 10 13 4 7 14 1 8 11 2 5 12 ;12 11 2 1 16 15 6 5 4 3 10 9 8 7 14 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
10
Pass
 
%%
zm=[7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 ;20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 ;3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 ;10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 ;11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 ;12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 ;13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 ;26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 ;9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 ;16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 ;17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 ;18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 ;19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 ;32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 ;15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 ;22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 ;23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 ;24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 ;25 18 11 34 3 32 31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 ;2 13 6 17 16 9 8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 ;21 26 31 24 35 22 27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 ;28 27 8 1 36 23 34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 ;29 4 15 14 19 12 35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 ;30 5 10 33 20 7 36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 ;31 24 17 4 9 2 1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 ;8 19 12 23 22 15 14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 ;27 32 1 30 5 28 33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 ;34 33 14 7 6 29 4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 ;35 10 21 20 25 18 5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 ;36 11 16 3 26 13 6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 ;1 30 23 10 15 8 7 36 29 16 21 14 13 6 35 22 27 20 19 12 5 28 33 26 25 18 11 34 3 32 31 24 17 4 9 2 ;14 25 18 29 28 21 20 31 24 35 34 27 26 1 30 5 4 33 32 7 36 11 10 3 2 13 6 17 16 9 8 19 12 23 22 15 ;33 2 7 36 11 34 3 8 13 6 17 4 9 14 19 12 23 10 15 20 25 18 29 16 21 26 31 24 35 22 27 32 1 30 5 28 ;4 3 20 13 12 35 10 9 26 19 18 5 16 15 32 25 24 11 22 21 2 31 30 17 28 27 8 1 36 23 34 33 14 7 6 29 ;5 16 27 26 31 24 11 22 33 32 1 30 17 28 3 2 7 36 23 34 9 8 13 6 29 4 15 14 19 12 35 10 21 20 25 18 ;6 17 22 9 32 19 12 23 28 15 2 25 18 29 34 21 8 31 24 35 4 27 14 1 30 5 10 33 20 7 36 11 16 3 26 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
11
Pass
 
%%
zm=[7 3 8 1 6 2 4 9 5 ;2 1 6 5 4 9 8 7 3 ;9 5 4 3 8 7 6 2 1 ;1 6 2 4 9 5 7 3 8 ;5 4 9 8 7 3 2 1 6 ;3 8 7 6 2 1 9 5 4 ;4 9 6 7 3 8 1 6 2 ;8 7 3 2 1 6 5 4 9 ;6 2 1 9 5 4 3 8 7 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
12
Pass
 
%%
zm=[9 16 3 2 13 4 7 6 1 8 11 10 5 12 15 14 ;6 13 4 15 10 1 8 3 14 5 12 7 2 9 16 11 ;11 14 1 12 15 2 5 16 3 6 9 4 7 10 13 8 ;8 7 10 5 12 11 14 9 16 15 2 13 4 3 6 1 ;13 4 7 6 1 8 11 10 5 12 15 14 9 16 3 2 ;10 1 8 3 14 5 12 7 2 9 16 11 6 13 4 15 ;15 2 5 16 3 6 9 4 7 10 13 8 11 14 1 12 ;12 11 14 9 16 15 2 13 4 3 6 1 8 7 10 5 ;1 8 11 10 5 12 15 14 9 16 3 2 13 4 7 6 ;14 5 12 7 2 9 16 11 6 13 4 15 10 1 8 3 ;3 6 9 4 7 10 13 8 11 14 1 12 15 2 5 16 ;16 15 2 13 4 3 6 1 8 7 10 5 12 11 14 9 ;5 12 15 14 9 16 3 2 13 4 7 6 1 8 11 10 ;2 9 16 11 6 13 4 15 10 1 8 3 14 5 12 7 ;7 10 13 8 11 14 1 12 15 2 5 16 3 6 9 4 ;4 3 6 1 8 7 10 5 12 11 14 9 16 15 2 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
13
Pass
 
%%
zm=[16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 ;22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 ;3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 ;4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 ;15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 ;21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 ;2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 ;8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 ;9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 ;20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 ;1 5 24 3 12 6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 ;7 21 10 4 18 12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 ;13 22 16 15 9 18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 ;14 23 17 6 20 19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 ;25 19 8 2 11 5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 ;6 10 4 8 17 11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 ;12 1 15 9 23 17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 ;18 2 21 20 14 23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 ;19 3 22 11 25 24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 ;5 24 13 7 16 10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 ;11 15 9 13 22 16 20 14 18 2 21 25 19 23 7 1 5 24 3 12 6 10 4 8 17 ;17 6 20 14 3 22 11 25 19 8 2 16 5 24 13 7 21 10 4 18 12 1 15 9 23 ;23 7 1 25 19 3 12 6 5 24 8 17 11 10 4 13 22 16 15 9 18 2 21 20 14 ;24 8 2 16 5 4 13 7 21 10 9 18 12 1 15 14 23 17 6 20 19 3 22 11 25 ;10 4 18 12 21 15 9 23 17 1 20 14 3 22 6 25 19 8 2 11 5 24 13 7 16 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
14
Pass
 
%%
zm=[1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 ;17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 ;8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 ;19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 ;5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 ;6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 ;22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 ;13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 ;24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 ;10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 ;11 5 14 13 12 16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 ;2 21 10 9 8 7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 ;18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 ;4 3 7 6 20 9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 ;15 19 23 17 1 20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 ;16 10 19 18 17 21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 ;7 1 15 14 13 12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 ;23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 ;9 8 12 11 25 14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 ;20 24 3 22 6 25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 ;21 15 24 23 22 1 20 4 3 2 6 25 9 8 7 11 5 14 13 12 16 10 19 18 17 ;12 6 20 19 18 17 11 25 24 23 22 16 5 4 3 2 21 10 9 8 7 1 15 14 13 ;3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 ;14 13 17 16 5 19 18 22 21 10 24 23 2 1 15 4 3 7 6 20 9 8 12 11 25 ;25 4 8 2 11 5 9 13 7 16 10 14 18 12 21 15 19 23 17 1 20 24 3 22 6 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
15
Pass
 
%%
zm=[1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 ;20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 ;33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 ;4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 ;35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 ;18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 ;7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 ;26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 ;3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 ;10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 ;5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 ;24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 ;13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 ;32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 ;9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 ;16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 ;11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 ;30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 ;19 6 35 34 9 26 25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 ;2 31 24 29 16 33 8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 ;15 32 1 12 5 4 21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 ;22 27 14 13 18 11 28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 ;17 10 3 20 25 30 23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 ;36 23 28 21 8 7 6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 ;25 12 5 4 15 32 31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 ;8 1 30 35 22 3 14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 ;21 2 7 18 11 10 27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 ;28 33 20 19 24 17 34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 ;23 16 9 26 31 36 29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 ;6 29 34 27 14 13 12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 ;31 18 11 10 21 2 1 24 17 16 27 8 7 30 23 22 33 14 13 36 29 28 3 20 19 6 35 34 9 26 25 12 5 4 15 32 ;14 7 36 5 28 9 20 13 6 11 34 15 26 19 12 17 4 21 32 25 18 23 10 27 2 31 24 29 16 33 8 1 30 35 22 3 ;27 8 13 24 17 16 33 14 19 30 23 22 3 20 25 36 29 28 9 26 31 6 35 34 15 32 1 12 5 4 21 2 7 18 11 10 ;34 3 26 25 30 23 4 9 32 31 36 29 10 15 2 1 6 35 16 21 8 7 12 5 22 27 14 13 18 11 28 33 20 19 24 17 ;29 22 15 32 1 6 35 28 21 2 7 12 5 34 27 8 13 18 11 4 33 14 19 24 17 10 3 20 25 30 23 16 9 26 31 36 ;12 35 4 33 20 19 18 5 10 3 26 25 24 11 16 9 32 31 30 17 22 15 2 1 36 23 28 21 8 7 6 29 34 27 14 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
16
Pass
 
%%
zm=[4 3 8 7 6 2 1 9 5 ;2 1 9 5 4 3 8 7 6 ;6 5 7 9 8 1 3 2 4 ;7 6 2 1 9 5 4 3 8 ;5 4 3 8 7 6 2 1 9 ;9 8 1 3 2 4 6 5 7 ;1 9 5 4 3 8 7 6 2 ;8 7 6 2 1 9 5 4 3 ;3 2 4 6 5 7 9 8 1 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
17
Pass
 
%%
zm=[1 9 8 4 3 2 7 6 5 ;2 7 6 5 1 9 8 4 3 ;3 5 4 6 8 7 9 2 1 ;4 3 2 7 6 5 1 9 8 ;5 1 9 8 4 3 2 7 6 ;6 8 7 9 2 1 3 5 4 ;7 6 5 1 9 8 4 3 2 ;8 4 3 2 7 6 5 1 9 ;9 2 1 3 5 4 6 8 7 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
18
Pass
 
%%
zm=[11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 ;7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 ;23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 ;9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 ;15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 ;16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 ;12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 ;3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 ;14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 ;20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 ;21 20 9 13 7 1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 ;17 1 10 24 23 22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 ;8 12 6 15 14 13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 ;19 18 22 16 5 24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 ;25 4 3 2 11 5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 ;1 25 14 18 12 6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 ;22 6 15 4 3 2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 ;13 17 11 20 19 18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 ;24 23 2 21 10 4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 ;5 9 8 7 16 10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 ;6 5 19 23 17 11 10 24 3 22 16 15 4 8 2 21 20 9 13 7 1 25 14 18 12 ;2 11 20 9 8 7 16 25 14 13 12 21 5 19 18 17 1 10 24 23 22 6 15 4 3 ;18 22 16 25 24 23 2 21 5 4 3 7 1 10 9 8 12 6 15 14 13 17 11 20 19 ;4 3 7 1 15 9 8 12 6 20 14 13 17 11 25 19 18 22 16 5 24 23 2 21 10 ;10 14 13 12 21 15 19 18 17 1 20 24 23 22 6 25 4 3 2 11 5 9 8 7 16 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
19
Pass
 
%%
zm=[1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 ;8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 ;21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 ;10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 ;5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 ;36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 ;7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 ;14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 ;27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 ;16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 ;11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 ;6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 ;13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 ;20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 ;33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 ;22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 ;17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 ;12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 ;19 6 29 16 21 32 25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 ;26 31 36 35 34 9 32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 ;3 14 25 30 5 10 9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 ;28 33 20 1 24 17 34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 ;23 22 15 2 13 12 29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 ;18 11 4 27 8 7 24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 ;25 12 35 22 27 2 31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 ;32 1 6 5 4 15 2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 ;9 20 31 36 11 16 15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 ;34 3 26 7 30 23 4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 ;29 28 21 8 19 18 35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 ;24 17 10 33 14 13 30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 ;31 18 5 28 33 8 1 24 11 34 3 14 7 30 17 4 9 20 13 36 23 10 15 26 19 6 29 16 21 32 25 12 35 22 27 2 ;2 7 12 11 10 21 8 13 18 17 16 27 14 19 24 23 22 33 20 25 30 29 28 3 26 31 36 35 34 9 32 1 6 5 4 15 ;15 26 1 6 17 22 21 32 7 12 23 28 27 2 13 18 29 34 33 8 19 24 35 4 3 14 25 30 5 10 9 20 31 36 11 16 ;4 9 32 13 36 29 10 15 2 19 6 35 16 21 8 25 12 5 22 27 14 31 18 11 28 33 20 1 24 17 34 3 26 7 30 23 ;35 34 27 14 25 24 5 4 33 20 31 30 11 10 3 26 1 36 17 16 9 32 7 6 23 22 15 2 13 12 29 28 21 8 19 18 ;30 23 16 3 20 19 36 29 22 9 26 25 6 35 28 15 32 31 12 5 34 21 2 1 18 11 4 27 8 7 24 17 10 33 14 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
20
Pass
 
%%
zm=[13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 ;2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 ;3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 ;22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 ;5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 ;6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 ;19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 ;8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 ;9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 ;28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 ;11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 ;12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 ;25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 ;14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 ;15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 ;34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 ;17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 ;18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 ;31 18 35 34 33 2 1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 ;20 13 36 17 22 9 26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 ;21 26 1 6 5 28 27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 ;4 3 32 19 12 29 10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 ;23 16 15 8 25 30 29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 ;24 11 10 27 14 7 30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 ;1 24 5 4 3 8 7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 ;26 19 6 23 28 15 32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 ;27 32 7 12 11 34 33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 ;10 9 2 25 18 35 16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 ;29 22 21 14 31 36 35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 ;30 17 16 33 20 13 36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 ;7 30 11 10 9 14 13 36 17 16 15 20 19 6 23 22 21 26 25 12 29 28 27 32 31 18 35 34 33 2 1 24 5 4 3 8 ;32 25 12 29 34 21 2 31 18 35 4 27 8 1 24 5 10 33 14 7 30 11 16 3 20 13 36 17 22 9 26 19 6 23 28 15 ;33 2 13 18 17 4 3 8 19 24 23 10 9 14 25 30 29 16 15 20 31 36 35 22 21 26 1 6 5 28 27 32 7 12 11 34 ;16 15 8 31 24 5 22 21 14 1 30 11 28 27 20 7 36 17 34 33 26 13 6 23 4 3 32 19 12 29 10 9 2 25 18 35 ;35 28 27 20 1 6 5 34 33 26 7 12 11 4 3 32 13 18 17 10 9 2 19 24 23 16 15 8 25 30 29 22 21 14 31 36 ;36 23 22 3 26 19 6 29 28 9 32 25 12 35 34 15 2 31 18 5 4 21 8 1 24 11 10 27 14 7 30 17 16 33 20 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
21
Pass
 
%%
zm=[429 428 430 432 431 433 426 434 427 ;427 426 434 430 429 428 433 432 431 ;431 433 432 434 427 426 428 430 429 ;432 431 433 426 434 427 429 428 430 ;430 429 428 433 432 431 427 426 434 ;434 427 426 428 430 429 431 433 432 ;426 434 427 429 428 430 432 431 433 ;433 432 431 427 426 434 430 429 428 ;428 430 429 431 433 432 434 427 426 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
22
Pass
 
%%
zm=[7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 ;20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 ;15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 ;34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 ;29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 ;6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 ;13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 ;26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 ;21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 ;4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 ;35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 ;12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 ;19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 ;32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 ;27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 ;10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 ;5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 ;18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 ;25 18 17 28 27 14 31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 ;2 31 12 29 22 21 8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 ;33 8 19 6 23 4 3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 ;16 3 32 1 30 35 22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 ;11 10 9 26 7 36 17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 ;24 5 34 15 20 13 30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 ;31 24 23 34 33 20 1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 ;8 1 18 35 28 27 14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 ;3 14 25 12 29 10 9 20 31 18 35 16 15 26 1 24 5 23 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 ;22 9 2 7 36 5 28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 ;17 16 15 32 13 6 23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 ;30 11 4 21 26 19 36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 ;1 30 29 4 3 26 7 36 35 10 9 32 13 6 5 16 15 2 19 12 11 22 21 8 25 18 17 28 27 14 31 24 23 34 33 20 ;14 7 24 5 34 33 20 13 30 11 4 3 26 19 36 17 10 9 32 25 6 23 16 15 2 31 12 29 22 21 8 1 18 35 28 27 ;9 20 31 18 35 16 15 26 1 24 5 22 21 32 7 30 11 28 27 2 13 36 17 34 33 8 19 6 23 4 3 14 25 12 29 10 ;28 15 8 13 6 11 34 21 14 19 12 17 4 27 20 25 18 23 10 33 26 31 24 29 16 3 32 1 30 35 22 9 2 7 36 5 ;23 22 21 2 19 12 29 28 27 8 25 18 35 34 33 14 31 24 5 4 3 20 1 30 11 10 9 26 7 36 17 16 15 32 13 6 ;36 17 10 27 32 25 6 23 16 33 2 31 12 29 22 3 8 1 18 35 28 9 14 7 24 5 34 15 20 13 30 11 4 21 26 19 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
23
Pass
 
%%
zm=[21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 ;22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 ;18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 ;14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 ;25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 ;1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 ;2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 ;23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 ;19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 ;5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 ;6 20 9 13 12 11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 ;7 1 25 4 18 12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 ;3 22 21 5 14 8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 ;24 8 2 16 15 4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 ;10 19 23 17 11 15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 ;11 25 14 18 17 16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 ;12 6 5 9 23 17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 ;8 2 1 10 19 13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 ;4 13 7 21 20 9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 ;15 24 3 22 16 20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 ;16 5 19 23 22 21 10 24 3 2 1 15 4 8 7 6 20 9 13 12 11 25 14 18 17 ;17 11 10 14 3 22 16 15 19 8 2 21 20 24 13 7 1 25 4 18 12 6 5 9 23 ;13 7 6 15 24 18 12 11 20 4 23 17 16 25 9 3 22 21 5 14 8 2 1 10 19 ;9 18 12 1 25 14 23 17 6 5 19 3 22 11 10 24 8 2 16 15 4 13 7 21 20 ;20 4 8 2 21 25 9 13 7 1 5 14 18 12 6 10 19 23 17 11 15 24 3 22 16 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
24
Pass
 
%%
zm=[19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 ;14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 ;3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 ;16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 ;29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 ;36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 ;25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 ;20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 ;9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 ;22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 ;35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 ;6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 ;31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 ;26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 ;15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 ;28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 ;5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 ;12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 ;1 24 5 28 3 26 7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 ;32 7 12 17 10 33 2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 ;21 8 31 30 29 16 27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 ;34 15 14 25 6 35 4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 ;11 22 9 2 13 36 17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 ;18 23 4 27 20 19 24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 ;7 30 11 34 9 32 13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 ;2 13 18 23 16 3 8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 ;27 14 1 36 35 22 33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 ;4 21 20 31 12 5 10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 ;17 28 15 8 19 6 23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 ;24 29 10 33 26 25 30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 ;13 36 17 4 15 2 19 6 23 10 21 8 25 12 29 16 27 14 31 18 35 22 33 20 1 24 5 28 3 26 7 30 11 34 9 32 ;8 19 24 29 22 9 14 25 30 35 28 15 20 31 36 5 34 21 26 1 6 11 4 27 32 7 12 17 10 33 2 13 18 23 16 3 ;33 20 7 6 5 28 3 26 13 12 11 34 9 32 19 18 17 4 15 2 25 24 23 10 21 8 31 30 29 16 27 14 1 36 35 22 ;10 27 26 1 18 11 16 33 32 7 24 17 22 3 2 13 30 23 28 9 8 19 36 29 34 15 14 25 6 35 4 21 20 31 12 5 ;23 34 21 14 25 12 29 4 27 20 31 18 35 10 33 26 1 24 5 16 3 32 7 30 11 22 9 2 13 36 17 28 15 8 19 6 ;30 35 16 3 32 31 36 5 22 9 2 1 6 11 28 15 8 7 12 17 34 21 14 13 18 23 4 27 20 19 24 29 10 33 26 25 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
25
Pass
 
%%
zm=[18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ;18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 ;19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 18 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
26
Pass
 
%%
zm=[7 6 8 1 9 2 4 3 5 ;2 1 3 5 4 6 8 7 9 ;9 5 4 3 8 7 6 2 1 ;1 9 2 4 3 5 7 6 8 ;5 4 6 8 7 9 2 1 3 ;3 8 7 6 2 1 9 5 4 ;4 3 5 7 6 8 1 9 2 ;8 7 9 2 1 3 5 4 6 ;6 2 1 9 5 4 3 8 7 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
27
Pass
 
%%
zm=[1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 ;8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 ;21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 ;34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 ;23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 ;36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 ;7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 ;14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 ;27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 ;4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 ;29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 ;6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 ;13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 ;20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 ;33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 ;10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 ;35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 ;12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 ;19 36 23 10 21 32 25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 ;26 7 24 11 22 15 32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 ;3 14 1 6 35 4 9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 ;16 33 8 13 30 29 22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 ;5 34 9 20 31 12 11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 ;18 17 28 27 2 25 24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 ;25 6 29 16 27 2 31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 ;32 13 30 17 28 21 2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 ;9 20 7 12 5 10 15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 ;22 3 14 19 36 35 28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 ;11 4 15 26 1 18 17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 ;24 23 34 33 8 31 30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 ;31 12 35 22 33 8 1 18 5 28 3 14 7 24 11 34 9 20 13 30 17 4 15 26 19 36 23 10 21 32 25 6 29 16 27 2 ;2 19 36 23 34 27 8 25 6 29 4 33 14 31 12 35 10 3 20 1 18 5 16 9 26 7 24 11 22 15 32 13 30 17 28 21 ;15 26 13 18 11 16 21 32 19 24 17 22 27 2 25 30 23 28 33 8 31 36 29 34 3 14 1 6 35 4 9 20 7 12 5 10 ;28 9 20 25 6 5 34 15 26 31 12 11 4 21 32 1 18 17 10 27 2 7 24 23 16 33 8 13 30 29 22 3 14 19 36 35 ;17 10 21 32 7 24 23 16 27 2 13 30 29 22 33 8 19 36 35 28 3 14 25 6 5 34 9 20 31 12 11 4 15 26 1 18 ;30 29 4 3 14 1 36 35 10 9 20 7 6 5 16 15 26 13 12 11 22 21 32 19 18 17 28 27 2 25 24 23 34 33 8 31 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
28
Pass
 
%%
zm=[9 16 3 10 13 4 7 14 1 8 11 2 5 12 15 6 ;2 13 4 15 6 1 8 3 10 5 12 7 14 9 16 11 ;7 6 1 12 11 10 5 16 15 14 9 4 3 2 13 8 ;8 11 14 5 12 15 2 9 16 3 6 13 4 7 10 1 ;13 4 7 14 1 8 11 2 5 12 15 6 9 16 3 10 ;6 1 8 3 10 5 12 7 14 9 16 11 2 13 4 15 ;11 10 5 16 15 14 9 4 3 2 13 8 7 6 1 12 ;12 15 2 9 16 3 6 13 4 7 10 1 8 11 14 5 ;1 8 11 2 5 12 15 6 9 16 3 10 13 4 7 14 ;10 5 12 7 14 9 16 11 2 13 4 15 6 1 8 3 ;15 14 9 4 3 2 13 8 7 6 1 12 11 10 5 16 ;16 3 6 13 4 7 10 1 8 11 14 5 12 15 2 9 ;5 12 15 6 9 16 3 10 13 4 7 14 1 8 11 2 ;14 9 16 11 2 13 4 15 6 1 8 3 10 5 12 7 ;3 2 13 8 7 6 1 12 11 10 5 16 15 14 9 4 ;4 7 10 1 8 11 14 5 12 15 2 9 16 3 6 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
29
Pass
 
%%
zm=[1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 ;22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 ;3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 ;4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 ;10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 ;6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 ;2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 ;8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 ;9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 ;15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 ;11 5 19 23 22 16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 ;7 21 15 24 18 12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 ;13 12 6 10 4 18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 ;14 8 2 1 25 19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 ;20 9 3 17 16 25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 ;16 10 24 3 2 21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 ;12 1 20 4 23 17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 ;18 17 11 15 9 23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 ;19 13 7 6 5 24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 ;25 14 8 22 21 5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 ;21 15 4 8 7 1 20 9 13 12 6 25 14 18 17 11 5 19 23 22 16 10 24 3 2 ;17 6 25 9 3 22 11 5 14 8 2 16 10 19 13 7 21 15 24 18 12 1 20 4 23 ;23 22 16 20 14 3 2 21 25 19 8 7 1 5 24 13 12 6 10 4 18 17 11 15 9 ;24 18 12 11 10 4 23 17 16 15 9 3 22 21 20 14 8 2 1 25 19 13 7 6 5 ;5 19 13 2 1 10 24 18 7 6 15 4 23 12 11 20 9 3 17 16 25 14 8 22 21 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
30
Pass
 
%%
zm=[13 8 15 6 1 12 3 10 5 16 7 14 9 4 11 2 ;14 5 4 3 2 9 8 7 6 13 12 11 10 1 16 15 ;7 2 9 12 11 6 13 16 15 10 1 4 3 14 5 8 ;16 11 10 1 4 15 14 5 8 3 2 9 12 7 6 13 ;1 12 3 10 5 16 7 14 9 4 11 2 13 8 15 6 ;2 9 8 7 6 13 12 11 10 1 16 15 14 5 4 3 ;11 6 13 16 15 10 1 4 3 14 5 8 7 2 9 12 ;4 15 14 5 8 3 2 9 12 7 6 13 16 11 10 1 ;5 16 7 14 9 4 11 2 13 8 15 6 1 12 3 10 ;6 13 12 11 10 1 16 15 14 5 4 3 2 9 8 7 ;15 10 1 4 3 14 5 8 7 2 10 12 11 6 13 16 ;8 3 2 9 12 7 6 13 16 11 10 1 4 15 14 5 ;9 4 11 2 13 8 15 6 1 12 3 10 5 16 7 14 ;10 1 16 15 14 5 4 3 2 9 8 7 6 13 12 11 ;3 14 5 8 7 2 9 12 11 6 13 16 15 10 1 4 ;12 7 6 13 16 11 10 1 4 15 14 5 8 3 2 9 ];
vexp=0
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     0
31
Pass
 
%%
zm=[21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 ;7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 ;8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 ;19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 ;20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 ;1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 ;12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 ;13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 ;24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 ;25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 ;6 10 9 23 2 11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 ;17 1 20 24 8 22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 ;18 22 16 25 19 23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 ;4 13 7 11 15 9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 ;5 14 3 12 21 10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 ;11 15 14 3 7 16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 ;22 6 25 4 13 2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 ;23 2 21 5 24 3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 ;9 18 12 16 20 14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 ;10 19 8 17 1 15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 ;16 20 19 8 12 21 25 24 13 17 1 5 4 18 22 6 10 9 23 2 11 15 14 3 7 ;2 11 5 9 18 7 16 10 14 23 12 21 15 19 3 17 1 20 24 8 22 6 25 4 13 ;3 7 1 10 4 8 12 6 15 9 13 17 11 20 14 18 22 16 25 19 23 2 21 5 24 ;14 23 17 21 25 19 3 22 1 5 24 8 2 6 10 4 13 7 11 15 9 18 12 16 20 ;15 24 13 22 6 20 4 18 2 11 25 9 23 7 16 5 14 3 12 21 10 19 8 17 1 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
32
Pass
 
%%
zm=[9 8 7 6 13 12 11 10 1 16 15 14 5 4 3 2 ;14 1 4 11 2 5 8 15 6 9 12 3 10 13 16 7 ;3 2 5 16 7 6 9 4 11 10 13 8 15 14 1 12 ;12 15 10 13 16 3 14 1 4 7 2 5 8 11 6 9 ;13 12 11 10 1 16 15 14 5 4 3 2 9 8 7 6 ;2 5 8 15 6 9 12 3 10 13 16 7 14 1 4 11 ;7 6 9 4 11 10 13 8 15 14 1 12 3 2 5 16 ;16 3 14 1 4 7 2 5 8 11 6 9 12 15 10 13 ;1 16 15 14 5 4 3 2 9 8 7 6 13 12 11 10 ;6 9 12 3 10 13 16 7 14 1 4 11 2 5 8 15 ;11 10 13 8 15 14 1 12 3 2 5 16 7 6 9 4 ;4 7 2 5 8 11 6 9 12 15 10 13 16 3 14 1 ;5 4 3 2 9 8 7 6 13 12 11 10 1 16 15 14 ;10 13 16 7 14 1 4 11 2 5 8 15 6 9 12 3 ;15 14 1 12 3 2 5 16 7 6 9 4 11 10 13 8 ;8 11 6 9 12 15 10 13 16 3 14 1 4 7 2 5 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1
33
Pass
 
%%
zm=[1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 ;8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 ;9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 ;16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 ;35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 ;36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 ;7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 ;14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 ;15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 ;22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 ;5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 ;6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 ;13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 ;20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 ;21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 ;28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 ;11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 ;12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 ;19 24 35 22 15 20 25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 ;26 1 30 11 28 33 32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 ;27 8 25 36 5 10 33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 ;34 9 14 13 12 29 4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 ;17 16 21 2 31 6 23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 ;18 23 4 3 32 7 24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 ;25 30 5 28 21 26 31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 ;32 7 36 17 34 3 2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 ;33 14 31 6 11 16 3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 ;4 15 20 19 18 35 10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 ;23 22 27 8 1 12 29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 ;24 29 10 9 2 13 30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 ;31 36 11 34 27 32 1 6 17 4 33 2 7 12 23 10 3 8 13 18 29 16 9 14 19 24 35 22 15 20 25 30 5 28 21 26 ;2 13 6 23 4 9 8 19 12 29 10 15 14 25 18 35 16 21 20 31 24 5 22 27 26 1 30 11 28 33 32 7 36 17 34 3 ;3 20 1 12 17 22 9 26 7 18 23 28 15 32 13 24 29 34 21 2 19 30 35 4 27 8 25 36 5 10 33 14 31 6 11 16 ;10 21 26 25 24 5 16 27 32 31 30 11 22 33 2 1 36 17 28 3 8 7 6 23 34 9 14 13 12 29 4 15 20 19 18 35 ;29 28 33 14 7 18 35 34 3 20 13 24 5 4 9 26 19 30 11 10 15 32 25 36 17 16 21 2 31 6 23 22 27 8 1 12 ;30 35 16 15 8 19 36 5 22 21 14 25 6 11 28 27 20 31 12 17 34 33 26 1 18 23 4 3 32 7 24 29 10 9 2 13 ];
vexp=1
v=Sudoku_CH(zm);
assert(isequal(v,vexp))
vexp =
     1