You need to rotate the circles to align the picture. Sounds easy? No, its not. There is a trick... as you move a circle the other 2 circles move in opposite directions, but not one-for-one... This puzzle is so tricky, I will dedicate this entire post just to solve this one!
This is by far the most difficult puzzle on THE CURSE. Took me very long to solve. I started off by trying brute force, but realized a better approach is required!
Lets understand what is happening here:
1. There are 4 circles, but the middle circle (the eye) does not rotate. So we are left with 3 rotating circles.
2. Each circle can rotate 36 times. (The 36'th rotation is back to where it starts).
3. The rotation follows a formula as follows:
- If you rotate the inner circle clockwise 1 step, then the middle circle rotates 3 steps counter-clockwise and the outer circle rotates 2 steps counter-clockwise
- If you rotate the middle circle clockwise 1 step, then the inner circle rotates 2 steps counter-clockwise and the outer circle rotates 3 steps counter-clockwise
- If you rotate the outer circle 1 step clockwise, then the inner circle rotates 3 steps counter-clockwise and the middle circle rotates 2 steps counter-clockwise.
- The reverse is also true: e.g. if you rotate a circle anti-clockwise, then the other 2 rotates clockwise.
- If you rotate a circle 1 step clockwise and then immediately 1 step counter-clockwise then the puzzle will be at the same position before you did these 2 moves.
4. With these rules we can bring in Microsoft Excel or some programming to do some mathematics to figure how how much each circle needs to rotate to resolve the problem.
5. When starting this puzzle, the starting positions of each of the 3 circles are rather random. So the solution here cannot tell you to rotate each circle a certain number of times to resolve...
6. There are 36 x 36 x 36 = 46656 possible solutions. (Well, technically not all possibilities are possible solutions but that will make it technical to explain. But in short, for example 2 circles cannot be correct with the 3 circle 1 step out). I did a quick calculation and found 11664 possible positions for the 3 circles.
7. You can now use XLS or write a program to solve the problem. You have 3 variables (the starting position of each circle) and then need to solve 3 moving equations. If all 3 equations are solved, then you have the solution. For the below, I will use conventions as in the picture below. The inner ring will be called R1, the middle ring R2, and the outer ring R3. If the puzzle is solved, the top of each ring will be in step 0 (or 36).
8. Now, you need to calculate the starting position of each ring. You do this by rotating the circle and counting the steps. For R1, rotate it until it is correct, then turning it clock-wise till it is at its original position, counting the steps all the way. Then repeat for R2 and R3. In my formula this will be R1start, R2start, and R3start. Be careful that you count correctly and move then back to the correct starting position. Hint: If all 3 rings are way out, move 1 of the rings to the correct position (position 0) and then you only need to count the position of the remaining 2 rings.
9. If the rings are in its correct position, then the following 3 movement equations will be true. These 3 equations comes from the moving formulas: (You want each ring's final position to be zero)
- R1FinalPosition: (R1start + R1 - (2 * R2) - (3 * R3) ) mod 36 = 0
- R2FinalPosition: (R2start - (3 * R1) + R2 - (2 * R3) ) mod 36 = 0
- R3FinalPosition: (R3start - (2 * R1) - (3*R2) + R3 ) mod 36 = 0
Notes: R1, R2, and R3 are how many clock-wise steps to be made to each ring. The MOD 36 is used because the answer 0, 36, 72, 144 are all the same position and there are 36 revolutions.
10. You now need to use MS Excel or a program to use a loop from 0 to 35 for each ring, and when these 3 formulas all equals to zero, then you will know how many steps you need to rotate each ring to resolve. There might be a couple of possibilities.
11. The final picture looks like this:
12. I have written a little VB Script that you could use. Copy and paste the below code (between the --> VB Script Start and VB Script End). Paste in Notepad and save as Circular.VBS. Change the 3 starting positions and then execute the VBScript.
You can test this specific example: Here the R1 circle (inner circle) has been moved anti-clockwise 1 step, so R2 (middle circle) will move 3 clockwise and R3 (outer circle) moved 2 steps clockwise. This will give the result of 1 step for R1 and zero steps for the other 2 rings which is correct!
The script will tell you if you started off with an invalid position.
(I am not a VB Script expert, so acknowledge there might be better ways to write the below. This works on my Windows 7 machine, you might have to change the output statement "Wscript.Echo" to work on other platforms.)
--> VB Script Start <-- Copy from below this line.
r1start = 35
r2start = 3
r3start = 2
solved = 0
for r3 = 0 to 35
for r2 = 0 to 35
for r1 = 0 to 35
R1fin = (r1start + r1 - (2*r2) - (3*r3)) mod 36
R2fin = (r2start + r2 - (3*r1) - (2*r3) ) mod 36
R3fin = (r3start + r3 - (2*r1) - (3*r2) ) mod 36
if (solved = 0) then
If (R1fin = 0) and (R2fin = 0) and (R3fin = 0) then
Wscript.Echo "turn: r1 = " & r1 & " r2 = " & r2 & " r3 = " & r3
solved = 1
if solved = 0 then
wscript.echo "Starting positions not correct"
--> VB Script end <-- Copy up to before this line.