# How many solutions does a hexagonal minesweeper have?

I recently posted a question, which appeared to have multiple solutions:

The numbers in circles represent how many of the six adjacent triangles will be "blue" in any possible solution:

The question is: How many?

Bonus challenge: A general rule for this kind of problems allowing a person to compute the number of solutions for any given hexagonal minesweeper.

NOTE I do not know the answer myself - I'm asking out of pure curiosity.

• At first sight the huge hexagonal almost made me jump out of my skin. I expect that would be a nice puzzle :D – Shane Hsu Oct 20 '16 at 8:00
• @rcampion2012 has already counted these for the particular problem here, using Mathematica which has general-purpose machinery for counting solutions to this sort of problem. I expect this involves a combination of linear algebra (over the field with two elements) and brute-force searching. I would be astonished if there were a general rule that's practically usable by human beings without computers. – Gareth McCaughan Oct 20 '16 at 10:49

Here is the base that won't change.
Next is to find all the possibilities for the remaining pieces.

Here is the part that matters with update numbers in the circles

There is 51 triangles left so technically $2^{51}$ possibilities without taking into accounts the numbers in circles.

Then we gotta start taking into account the numbers.

One 1 in contact with 2 = 2 possibilities
One 1 in contact with 4 = 4 possibilities
Four 2 in contact with 3 triangles = 81 possibilities($3^4$)
One 2 in contact with 6 = 15 possibilities
Two 3 in contact with 4 = 16 possibilities ($4^2$)
Eight 3 in contact with 6 = ($20^8$) possibilities
Three 4 in contact with 6 = 3375 possibilities ($15^3$)
Two 5 in contact with 6 = 36 possibilities ($6^2$)
So 2x4x81x15x16x36x3375x$20^8$ possibilities without taking into account sharing a triangle with another circle.
The next step would be to remove possibilities depending on which triangles are being shared... Which is the hard part.... Might have to use a program for that.