Skip to content

Instantly share code, notes, and snippets.

@pozorvlak
Created March 12, 2025 10:50
Show Gist options
  • Save pozorvlak/a5c145fcc9db72190d6163e4596636c7 to your computer and use it in GitHub Desktop.
Save pozorvlak/a5c145fcc9db72190d6163e4596636c7 to your computer and use it in GitHub Desktop.
Solutions to "grid of arithmetic operations" puzzle
# Results of solving a "grid of arithmetic operations" problem in MiniZinc,
# using Gecode 6.3.0 at -O5.
# Program listing at https://mathstodon.xyz/@pozorvlak/114148447412533853
v =
[| 2, 34, 4, 9, 30, 15
| 35, 11, 31, 6, 21, 28
| 5, 14, 10, 1, 16, 18
| 13, 20, 29, 23, 19, 7
| 33, 27, 8, 26, 3, 24
| 36, 22, 17, 25, 12, 32
|];
----------
v =
[| 4, 27, 5, 9, 26, 13
| 36, 14, 24, 19, 25, 33
| 3, 28, 10, 1, 16, 2
| 12, 20, 29, 8, 21, 7
| 35, 18, 30, 22, 11, 17
| 34, 23, 31, 15, 6, 32
|];
----------
v =
[| 17, 31, 6, 9, 36, 18
| 8, 16, 23, 7, 28, 22
| 2, 27, 10, 1, 13, 32
| 33, 20, 29, 26, 30, 5
| 35, 14, 12, 4, 15, 25
| 34, 24, 11, 3, 21, 19
|];
----------
v =
[| 23, 28, 7, 9, 24, 12
| 30, 21, 17, 4, 25, 33
| 15, 11, 10, 1, 16, 31
| 3, 20, 29, 34, 14, 8
| 32, 26, 13, 35, 2, 27
| 36, 22, 5, 18, 6, 19
|];
----------
v =
[| 27, 23, 8, 9, 26, 13
| 12, 15, 24, 25, 34, 30
| 2, 31, 10, 1, 14, 18
| 3, 20, 29, 6, 35, 4
| 32, 17, 21, 11, 5, 7
| 36, 22, 19, 28, 33, 16
|];
----------
v =
[| 4, 18, 6, 9, 24, 12
| 3, 22, 16, 34, 25, 31
| 1, 30, 10, 2, 26, 28
| 19, 20, 29, 8, 14, 11
| 36, 17, 35, 21, 5, 7
| 33, 23, 27, 32, 13, 15
|];
----------
v =
[| 27, 32, 7, 9, 34, 17
| 30, 22, 15, 12, 16, 23
| 3, 21, 10, 2, 31, 14
| 35, 20, 29, 26, 19, 8
| 36, 13, 11, 5, 4, 18
| 33, 24, 1, 28, 25, 6
|];
----------
v =
[| 17, 13, 8, 9, 32, 16
| 35, 26, 12, 14, 1, 27
| 5, 34, 10, 2, 31, 3
| 28, 20, 29, 21, 25, 6
| 36, 15, 18, 19, 11, 30
| 33, 24, 4, 23, 7, 22
|];
----------
v =
[| 27, 23, 8, 9, 34, 17
| 32, 28, 11, 22, 5, 24
| 1, 12, 10, 2, 31, 21
| 13, 20, 29, 16, 35, 4
| 36, 26, 18, 6, 19, 14
| 33, 25, 3, 7, 15, 30
|];
----------
v =
[| 1, 33, 4, 9, 26, 13
| 14, 11, 32, 24, 27, 30
| 7, 21, 10, 2, 31, 18
| 19, 20, 29, 12, 6, 25
| 35, 22, 5, 28, 3, 36
| 34, 23, 15, 17, 16, 8
|];
----------
v =
[| 4, 27, 5, 9, 26, 13
| 3, 14, 25, 22, 11, 31
| 1, 16, 10, 2, 28, 32
| 21, 20, 29, 12, 19, 8
| 35, 30, 15, 24, 7, 18
| 34, 23, 17, 33, 6, 36
|];
----------
v =
[| 8, 22, 6, 9, 30, 15
| 25, 13, 26, 19, 21, 28
| 1, 16, 10, 2, 31, 17
| 3, 20, 29, 14, 11, 12
| 35, 36, 5, 24, 18, 33
| 34, 23, 7, 32, 4, 27
|];
----------
v =
[| 1, 15, 6, 9, 28, 14
| 24, 25, 13, 17, 3, 30
| 12, 26, 10, 2, 33, 8
| 19, 20, 29, 18, 36, 4
| 35, 21, 27, 5, 22, 11
| 34, 23, 16, 31, 7, 32
|];
----------
v =
[| 27, 32, 7, 9, 28, 14
| 31, 26, 13, 22, 33, 25
| 1, 21, 10, 2, 30, 17
| 16, 20, 29, 15, 4, 36
| 35, 8, 24, 6, 5, 11
| 34, 23, 12, 18, 19, 3
|];
----------
v =
[| 4, 18, 6, 9, 32, 16
| 21, 23, 15, 12, 19, 26
| 3, 33, 10, 2, 30, 7
| 17, 20, 29, 25, 27, 5
| 35, 14, 22, 31, 1, 28
| 34, 24, 13, 8, 36, 11
|];
----------
v =
[| 4, 18, 6, 9, 32, 16
| 21, 23, 15, 12, 19, 26
| 3, 33, 10, 2, 30, 7
| 17, 20, 29, 25, 27, 5
| 35, 14, 22, 11, 1, 8
| 34, 24, 13, 28, 36, 31
|];
----------
v =
[| 4, 18, 6, 9, 32, 16
| 21, 15, 23, 12, 19, 26
| 3, 33, 10, 2, 30, 7
| 17, 20, 29, 25, 27, 5
| 35, 22, 14, 31, 1, 28
| 34, 24, 13, 8, 36, 11
|];
----------
v =
[| 4, 18, 6, 9, 32, 16
| 21, 15, 23, 12, 19, 26
| 3, 33, 10, 2, 30, 7
| 17, 20, 29, 25, 27, 5
| 35, 22, 14, 11, 1, 8
| 34, 24, 13, 28, 36, 31
|];
----------
v =
[| 25, 21, 8, 9, 30, 15
| 28, 31, 11, 24, 34, 26
| 7, 22, 10, 2, 32, 12
| 6, 20, 29, 14, 27, 5
| 33, 13, 19, 3, 16, 17
| 35, 23, 4, 18, 36, 1
|];
----------
v =
[| 34, 3, 11, 9, 26, 13
| 30, 16, 21, 12, 18, 27
| 6, 36, 10, 2, 25, 32
| 14, 20, 29, 24, 7, 19
| 33, 31, 23, 28, 1, 5
| 35, 22, 15, 17, 4, 8
|];
----------
v =
[| 3, 17, 6, 9, 24, 12
| 18, 23, 16, 7, 28, 32
| 1, 27, 10, 2, 26, 31
| 5, 20, 29, 36, 8, 14
| 34, 19, 21, 30, 4, 25
| 35, 22, 13, 33, 11, 15
|];
----------
v =
[| 11, 6, 8, 9, 36, 12
| 3, 16, 23, 13, 19, 32
| 1, 33, 10, 2, 25, 30
| 28, 20, 29, 24, 21, 7
| 34, 31, 17, 18, 26, 27
| 35, 22, 14, 15, 4, 5
|];
----------
v =
[| 18, 31, 6, 9, 33, 11
| 8, 25, 15, 14, 28, 36
| 1, 12, 10, 2, 32, 16
| 30, 20, 29, 26, 7, 21
| 34, 19, 22, 3, 24, 17
| 35, 23, 13, 4, 5, 27
|];
----------
v =
[| 25, 30, 7, 9, 26, 13
| 27, 19, 17, 21, 5, 33
| 3, 22, 10, 2, 32, 8
| 36, 20, 29, 14, 15, 11
| 34, 16, 12, 24, 1, 28
| 35, 23, 4, 18, 6, 31
|];
----------
v =
[| 3, 26, 5, 9, 34, 17
| 15, 13, 28, 14, 35, 25
| 1, 24, 10, 2, 32, 4
| 6, 20, 29, 21, 16, 8
| 33, 23, 7, 11, 19, 30
| 36, 22, 12, 31, 27, 18
|];
----------
v =
[| 13, 27, 6, 9, 32, 16
| 19, 21, 17, 8, 25, 26
| 1, 15, 10, 2, 34, 3
| 12, 20, 29, 35, 24, 5
| 33, 23, 11, 18, 14, 28
| 36, 22, 4, 31, 30, 7
|];
----------
v =
[| 18, 14, 8, 9, 32, 16
| 35, 13, 24, 28, 19, 23
| 7, 34, 10, 2, 26, 30
| 31, 20, 29, 12, 6, 27
| 33, 25, 5, 4, 11, 15
| 36, 22, 3, 17, 1, 21
|];
----------
v =
[| 21, 17, 8, 9, 28, 14
| 32, 24, 13, 26, 7, 30
| 4, 11, 10, 2, 35, 5
| 31, 20, 29, 12, 27, 6
| 33, 34, 16, 18, 25, 23
| 36, 22, 3, 15, 1, 19
|];
----------
==========
Finished in 1h 11m 23s.
@pozorvlak
Copy link
Author

Output of running the (slightly modified, to remove divisions) program using Chuffed -O5 as the solver:

v = 
[|  1, 15,  6,  9, 28, 14
 | 24, 25, 13, 17,  3, 30
 | 12, 26, 10,  2, 33,  8
 | 19, 20, 29, 18, 36,  4
 | 35, 21, 27,  5, 22, 11
 | 34, 23, 16, 31,  7, 32
 |];
k = [2, 2];
j = [165, 153];
----------
v = 
[|  1, 33,  4,  9, 26, 13
 | 14, 11, 32, 24, 27, 30
 |  7, 21, 10,  2, 31, 18
 | 19, 20, 29, 12,  6, 25
 | 35, 22,  5, 28,  3, 36
 | 34, 23, 15, 17, 16,  8
 |];
k = [2, 2];
j = [155, 144];
----------
v = 
[| 18, 14,  8,  9, 32, 16
 | 35, 13, 24, 28, 19, 23
 |  7, 34, 10,  2, 26, 30
 | 31, 20, 29, 12,  6, 27
 | 33, 25,  5,  4, 11, 15
 | 36, 22,  3, 17,  1, 21
 |];
k = [2, 5];
j = [130, 168];
----------
v = 
[| 25, 21,  8,  9, 30, 15
 | 28, 31, 11, 24, 34, 26
 |  7, 22, 10,  2, 32, 12
 |  6, 20, 29, 14, 27,  5
 | 33, 13, 19,  3, 16, 17
 | 35, 23,  4, 18, 36,  1
 |];
k = [2, 4];
j = [160, 168];
----------
v = 
[| 34,  3, 11,  9, 26, 13
 | 30, 16, 21, 12, 18, 27
 |  6, 36, 10,  2, 25, 32
 | 14, 20, 29, 24,  7, 19
 | 33, 31, 23, 28,  1,  5
 | 35, 22, 15, 17,  4,  8
 |];
k = [2, 5];
j = [125, 144];
----------
v = 
[| 17, 13,  8,  9, 32, 16
 | 35, 26, 12, 14,  1, 27
 |  5, 34, 10,  2, 31,  3
 | 28, 20, 29, 21, 25,  6
 | 36, 15, 18, 19, 11, 30
 | 33, 24,  4, 23,  7, 22
 |];
k = [2, 7];
j = [155, 147];
----------
v = 
[| 21, 17,  8,  9, 28, 14
 | 32, 24, 13, 26,  7, 30
 |  4, 11, 10,  2, 35,  5
 | 31, 20, 29, 12, 27,  6
 | 33, 34, 16, 18, 25, 23
 | 36, 22,  3, 15,  1, 19
 |];
k = [2, 8];
j = [175, 156];
----------
v = 
[| 11,  6,  8,  9, 36, 12
 |  3, 16, 23, 13, 19, 32
 |  1, 33, 10,  2, 25, 30
 | 28, 20, 29, 24, 21,  7
 | 34, 31, 17, 18, 26, 27
 | 35, 22, 14, 15,  4,  5
 |];
k = [3, 3];
j = [125, 156];
----------
v = 
[| 27, 23,  8,  9, 34, 17
 | 32, 28, 11, 22,  5, 24
 |  1, 12, 10,  2, 31, 21
 | 13, 20, 29, 16, 35,  4
 | 36, 26, 18,  6, 19, 14
 | 33, 25,  3,  7, 15, 30
 |];
k = [2, 32];
j = [155, 176];
----------
v = 
[| 27, 23,  8,  9, 26, 13
 | 12, 15, 24, 25, 34, 30
 |  2, 31, 10,  1, 14, 18
 |  3, 20, 29,  6, 35,  4
 | 32, 17, 21, 11,  5,  7
 | 36, 22, 19, 28, 33, 16
 |];
k = [2, 6];
j = [140, 150];
----------
v = 
[|  4, 18,  6,  9, 32, 16
 | 21, 15, 23, 12, 19, 26
 |  3, 33, 10,  2, 30,  7
 | 17, 20, 29, 25, 27,  5
 | 35, 22, 14, 31,  1, 28
 | 34, 24, 13,  8, 36, 11
 |];
k = [2, 7];
j = [150, 150];
----------
v = 
[|  4, 18,  6,  9, 32, 16
 | 21, 23, 15, 12, 19, 26
 |  3, 33, 10,  2, 30,  7
 | 17, 20, 29, 25, 27,  5
 | 35, 14, 22, 31,  1, 28
 | 34, 24, 13,  8, 36, 11
 |];
k = [2, 7];
j = [150, 150];
----------
v = 
[| 25, 30,  7,  9, 26, 13
 | 27, 19, 17, 21,  5, 33
 |  3, 22, 10,  2, 32,  8
 | 36, 20, 29, 14, 15, 11
 | 34, 16, 12, 24,  1, 28
 | 35, 23,  4, 18,  6, 31
 |];
k = [2, 9];
j = [160, 147];
----------
v = 
[| 27, 32,  7,  9, 34, 17
 | 30, 22, 15, 12, 16, 23
 |  3, 21, 10,  2, 31, 14
 | 35, 20, 29, 26, 19,  8
 | 36, 13, 11,  5,  4, 18
 | 33, 24,  1, 28, 25,  6
 |];
k = [2, 10];
j = [155, 156];
----------
v = 
[|  4, 18,  6,  9, 32, 16
 | 21, 15, 23, 12, 19, 26
 |  3, 33, 10,  2, 30,  7
 | 17, 20, 29, 25, 27,  5
 | 35, 22, 14, 11,  1,  8
 | 34, 24, 13, 28, 36, 31
 |];
k = [2, 7];
j = [150, 150];
----------
v = 
[|  4, 18,  6,  9, 32, 16
 | 21, 23, 15, 12, 19, 26
 |  3, 33, 10,  2, 30,  7
 | 17, 20, 29, 25, 27,  5
 | 35, 14, 22, 11,  1,  8
 | 34, 24, 13, 28, 36, 31
 |];
k = [2, 7];
j = [150, 150];
----------
v = 
[|  2, 34,  4,  9, 30, 15
 | 35, 11, 31,  6, 21, 28
 |  5, 14, 10,  1, 16, 18
 | 13, 20, 29, 23, 19,  7
 | 33, 27,  8, 26,  3, 24
 | 36, 22, 17, 25, 12, 32
 |];
k = [2, 7];
j = [160, 138];
----------
v = 
[| 23, 28,  7,  9, 24, 12
 | 30, 21, 17,  4, 25, 33
 | 15, 11, 10,  1, 16, 31
 |  3, 20, 29, 34, 14,  8
 | 32, 26, 13, 35,  2, 27
 | 36, 22,  5, 18,  6, 19
 |];
k = [2, 2];
j = [160, 136];
----------
v = 
[|  4, 27,  5,  9, 26, 13
 | 36, 14, 24, 19, 25, 33
 |  3, 28, 10,  1, 16,  2
 | 12, 20, 29,  8, 21,  7
 | 35, 18, 30, 22, 11, 17
 | 34, 23, 31, 15,  6, 32
 |];
k = [2, 12];
j = [160, 152];
----------
v = 
[| 27, 32,  7,  9, 28, 14
 | 31, 26, 13, 22, 33, 25
 |  1, 21, 10,  2, 30, 17
 | 16, 20, 29, 15,  4, 36
 | 35,  8, 24,  6,  5, 11
 | 34, 23, 12, 18, 19,  3
 |];
k = [2, 31];
j = [150, 165];
----------
v = 
[| 13, 27,  6,  9, 32, 16
 | 19, 21, 17,  8, 25, 26
 |  1, 15, 10,  2, 34,  3
 | 12, 20, 29, 35, 24,  5
 | 33, 23, 11, 18, 14, 28
 | 36, 22,  4, 31, 30,  7
 |];
k = [2, 19];
j = [170, 140];
----------
v = 
[|  3, 17,  6,  9, 24, 12
 | 18, 23, 16,  7, 28, 32
 |  1, 27, 10,  2, 26, 31
 |  5, 20, 29, 36,  8, 14
 | 34, 19, 21, 30,  4, 25
 | 35, 22, 13, 33, 11, 15
 |];
k = [2, 18];
j = [130, 126];
----------
v = 
[|  3, 26,  5,  9, 34, 17
 | 15, 13, 28, 14, 35, 25
 |  1, 24, 10,  2, 32,  4
 |  6, 20, 29, 21, 16,  8
 | 33, 23,  7, 11, 19, 30
 | 36, 22, 12, 31, 27, 18
 |];
k = [2, 15];
j = [160, 147];
----------
v = 
[| 18, 31,  6,  9, 33, 11
 |  8, 25, 15, 14, 28, 36
 |  1, 12, 10,  2, 32, 16
 | 30, 20, 29, 26,  7, 21
 | 34, 19, 22,  3, 24, 17
 | 35, 23, 13,  4,  5, 27
 |];
k = [3, 8];
j = [160, 182];
----------
v = 
[|  4, 18,  6,  9, 24, 12
 |  3, 22, 16, 34, 25, 31
 |  1, 30, 10,  2, 26, 28
 | 19, 20, 29,  8, 14, 11
 | 36, 17, 35, 21,  5,  7
 | 33, 23, 27, 32, 13, 15
 |];
k = [2, 3];
j = [130, 136];
----------
v = 
[|  8, 22,  6,  9, 30, 15
 | 25, 13, 26, 19, 21, 28
 |  1, 16, 10,  2, 31, 17
 |  3, 20, 29, 14, 11, 12
 | 35, 36,  5, 24, 18, 33
 | 34, 23,  7, 32,  4, 27
 |];
k = [2, 25];
j = [155, 133];
----------
v = 
[|  4, 27,  5,  9, 26, 13
 |  3, 14, 25, 22, 11, 31
 |  1, 16, 10,  2, 28, 32
 | 21, 20, 29, 12, 19,  8
 | 35, 30, 15, 24,  7, 18
 | 34, 23, 17, 33,  6, 36
 |];
k = [2, 3];
j = [140, 132];
----------
v = 
[| 17, 31,  6,  9, 36, 18
 |  8, 16, 23,  7, 28, 22
 |  2, 27, 10,  1, 13, 32
 | 33, 20, 29, 26, 30,  5
 | 35, 14, 12,  4, 15, 25
 | 34, 24, 11,  3, 21, 19
 |];
k = [2, 4];
j = [130, 182];
----------
==========
Finished in 1h 31m 38s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment