goal: find a configuration of 6 pieces in two layers of three
such that the interface between them fits.
Side view of pieces:
1: ^v^
2: ^vv
3: oo^
4: vo^
5: v^o
6: v^o
Restrict this to the view of the sides facing into the
intersection by noticing that the number of nubs (v, ^ or +) must
be less than or equal to the number of holes (o). Holes = 5,
minimum nubs = 5 (each piece contributes nubs from one side only),
so holes = nubs:
Interface view (# is a flat):
1: #+#
2: +##
3: oo#
4: +o#
5a: +#o or 5b: #+o (both faces allowed)
6a: +#o or 6b: #+o (both faces allowed)
Superimpose these:
+ and o is .
# and # is .
90 degree rotations of pieces are allowed.
nothing else is allowed.
Obtain a grid of .s, by applying the pieces, that is:
/---\
|...1
|...2
|...3
\abc/
5a and 6a can match along their length, but no other pairs match
this way so the two layers must run perpendicularly.
1 and 2 are in separate layers because each layer must have 4
flats (#): 8 flats in all, must be evenly distributed between
layers so each flat matches another (no flats may match holes or
nubs because holes and nubs fully occupy each other: 5 of each).
2 is on an edge because the centre of 1 is a nub:
/---\
| 1
| 2
|##+3
\abc/
Remaining pieces:
Vertical Don't know
1: #+# 3: oo#
4: +o#
5a: +#o or 5b: #+o
6a: +#o or 6b: #+o
1 could go in either of two positions:
A B
/---\ /---\
|# 1 | # 1
|+ 2 | + 2
|.#+3 |#.+3
\abc/ \abc/
Remaining pieces:
3: oo#
4: +o#
5a: +#o or 5b: #+o
6a: +#o or 6b: #+o
Following B:
Place 6a on abc1 because it's the only one with a flat in the
centre, +#o not o#+ because +?+ on 123c has no match (o?o).
/---\
|+.o1
| + 2
|#.+3
\abc/
Remaining pieces:
3: oo#
4: +o#
5a: +#o or 5b: #+o
Place 5a on c123 as that's the only one that fits:
/---\
|+..1
| +#2
|#..3
\abc/
Remaining pieces:
3: oo#
4: +o#
Place 3 vertically (only choice) and 4 fits in at the end :)
Following A:
c123 could take 3, 5a (or 6a) or 5b (or 6b), but 3, 5b and 6b fail
because #?# doesn't exist for abc1. So 6a goes to c123:
/---\
|# +1
|+ #2
|.#.3
\abc/
Remaining pieces:
3: oo#
4: +o#
5a: +#o or 5b: #+o
We need two o?#s for abc1 and abc2, which uses up 3 and 5b,
leaving only 4 to go in 123b:
/---\
|#++1
|+o#2
|...3
\abc/
And clearly now 3 goes in abc1, and 5b goes in abc2.
So there are exactly 2 solutions.