We have 13 coin positions, which I'm going to give the following names (it doesn't matter which position is given which name, it can be selected arbitrarily as long as I and my ally agree on the assignment, so just pick one that's easy to remember):
- N
- S
- E
- W
- NE
- SW
- NW
- SE
- N/S reverse (controls coins 1/2)
- E/W reverse (controls coins 3/4)
- NE/SW reverse (controls coins 5/6)
- NW/SE reverse (controls coins 7/8)
- spare coin
(tkf drew a picture of an example arrangement in this image.)
In order to identify a grid square, my ally starts in the centre, then moves in all the compass directions corresponding to coins 1-8 that are heads, wrapping around from one side of the board to the other if necessary (e.g. if moving north-west from the central north square, they arrive at the south-west corner). However, if any of the "reverse" coins are heads, any movement performed by the controlled coin is done backwards (e.g. if coin 11 is heads, then coin 5 actually moves south-west and coin 6 moves north-east rather than the other way round). My ally doesn't look at the position of the spare coin at all when identifying the square.
It turns out that no matter how the coins are arranged, there's always a coin I can flip to get my ally to select any of the nine squares. Here's how I do it:
- First, I work out what position my ally would select if I didn't flip any coins. If that's the square I need to communicate, I flip the spare coin and I'm done.
- Otherwise, I look at the square I need to communicate and the square my ally would select without flips. They must be in the same column, or row, or (possibly wrapping around the board) diagonal, because that's true of any two different squares on a 3×3 grid. This solution always flips one of the three coins that controls movement along the row, column, or diagonal in question (e.g. if the two squares in question are on the same NW-SE diagonal, I am going to flip coin 7, 8, or 12).
- If the relevant coins in the 1-8 range are both showing the same side (both heads or both tails), then flipping one of them will move my ally one direction along the relevant line, and the other will move my ally in the other direction. As such, flipping the appropriate one of those two coins will cause my ally to select the desired square.
- If the relevant coins are showing different sides, then flipping either of them will cause my ally to do the same thing (e.g. moving one more square north has the same effect as moving one less square south). If that happens to go to the desired square, I can flip either of those coins and my ally will end up in the right place.
- In the remaining case, I can flip the appropriate reverse-control coin. That causes the coin that was showing heads to start doing the same thing as the coin showing tails previously would have done, and vice versa – and thus it has the same effect as flipping both of the coins would. Flipping either of the coins would have moved my ally one square in the wrong direction; as such, effectively flipping both moves my ally two squares in the wrong direction, and (because we are wrapping around the grid) this has the same effect as moving one square in the correct direction.
As such, in every situation, there's at least one coin I can flip in order to get my ally to select the desired square.