I made 5 more tries with the following (skipped) box patterns:
- Code: Select all
* 2 3 1 * * * * * * * 3 1 * *
* 5 6 * 5 6 * 5 6 * 5 * * 5 6
7 * 9 * 8 9 * 8 9 * 8 9 * * 9
These are the counts i got:
skip {c1,c4,c7,b1,b4,b8} 486
skip {c1,c4,b2,b3,b4,b7} 486
skip {c1,b1,b2,b3,b4,b7} 484
skip {c1,b1,b2,b4,b6,b7} 488
skip {c1,b2,b3,b4,b7,b8} 498
I only used these properties (as given by blue), simply because i did not find other redundancies:
- If a house has 8 different digits, from the sum 45 also the 9th is distinct
- If in a band 3 boxes and 2 rows have all 9 digits, then also the 3rd row.
- If in a band 3 rows and 2 boxes have all 9 digits, then also the 3rd box.
Checks needed then:
28 for a house
-3 with a distinct minirow (column)
-6 with 2
-7 line with 3
-12 box with 2 distinct minirows and 2 minicolumns
My strategy was quite simple:
Start with (at least 2) pairs of rows and columns, where the most (non skipped) boxes can be validated with 16 checks.
Then in that order:
1. Add a 3rd line (not skipped) in bands/stacks with 2 full boxes and 2 full lines (which makes the 3rd box checked)
2. If a non skipped box is left, add (up to) 2 rows and columns and check it (if there are more boxes, take the cheapest)
3. Complete a band/stack with 2 verified boxes with (the cheapest) 2 or 3 lines
----------------
skip {c1,c4,c7,b1,b4,b8}
- Code: Select all
* 2 3
* 5 6
7 * 9
r124578c4578 10*28, b23569 5*16
r36 2*22 (->b14): rows 1-6, boxes 1-6 checked
c23 2*22, b7 16
r9 22 (->b8)
Note: box 8 (skipped) could be verified with 16 checks (and prove c4 and r9),
but i can't see a redundancy in the 22 row checks.
10*28+5*22+6*16 = 486
----
4 boxes:
skip {c1,c4,b2,b3,b4,b7}
- Code: Select all
1 * *
* 5 6
* 8 9
r4578,c5678 8*28, b5689 4*16
r69 2*22 (-> b47): rows 4-9, boxes 4-9 checked
c7 22 (->b3)
(a)
c23 2*22
r12 2*25, b1 16
r3 22 (->b2)
8*28+2*25+6*22+5*16=486
(b)
c123 3*22 (->b1)
r123 3*22 (->b2)
8*28+9*22+4*16 = 486
---
5 boxes
skip {c1,b1,b2,b3,b4,b7}
- Code: Select all
* * *
* 5 6
* 8 9
r4578c4578 8*28, b5689 4*16
r69 2*22 (->b47)
c69 2*22 (->b23)
r123 3*22 (b1)
c23 2*21
8*28+7*22+2*21+4*16 = 484
----
skip {c1,b1,b2,b4,b6,b7}
- Code: Select all
* * 3
* 5 *
* 8 9
r4578c4578 8*28, b589 3*16
c6 22 (->b2)
r9 22 (->b7)
r12 2*22, b3 16
c9 22 (->b6)
r36 2*22 (-> b14)
c23 2*21
8*28 + 7*22 + 2*23 + 4*16 = 488
---
skip {c1,b2,b3,b4,b7,b8}
1 * *
* 5 6
* * 9
r4578c4578 8*28, b569 3*16
c9 22 (->b3)
r6 22 (->b4)
r12c23 4*25, b1 16
r3 22 (->b2)
c6 22 (->b8)
r9 22 (->b7)
8*28 + 4*25 + 5*22 + 4*16 = 498