100 Safes

100 Safes
100 Safes room escape game

Search This Blog

2012-12-03

The CURSE puzzle 90 - Circular Picture Solution

Walkthrough, Solution, Answer, Tips, and Tricks for THE CURSE Level 90 - Circular Picture puzzle - hard.



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

end if
end if
 

  next
 next
next


if solved = 0 then
 wscript.echo "Starting positions not correct"
end if




--> VB Script end <-- Copy up to before this line.


57 comments:

  1. a good vb script to resolve a complicated problem. worked for me. tnx. circular picture puzzle solved. 10 puzzles to go.

    ReplyDelete
  2. I had to read your explanation 10 times to figure out what you are trying to say. I do not have a degree in advanced mathematics or nuclear science! After reading the answer I worked a bit on my android with the circular rotating puzzle and then things started to make more sense. Tried the vb script and after about the 6th attempt I manage to get it working. I could have counted incorrectly so I am not saying the script or solution is wrong. Glad I am finally pass this very difficult level.

    ReplyDelete
  3. Very confusing but in the end it work. I could not find a better solution searching the web. Hallelujah!

    ReplyDelete
  4. Thank you for all the feedback! Maybe one of you can advise how to write the above so that it will be less confusing? :-)

    ReplyDelete
  5. I might be doing something wrong but I can't get it. I've tried using the VB script and it always says "Starting values not correct " and I've tried solving on paper but nothing. I need a little more assistance or someone to tell me what I'm doing wrong, this is my last puzzle and I have spent more time on it then all the others combined.

    ReplyDelete
    Replies
    1. If the starting values are not correct, then either you are counting wrong, or maybe you are not counting all 3 rings to their final position?
      Look at the picture of the "final picture" and ensure you move them to the correct position.

      Delete
    2. I have just tested this puzzle again and solved it using the VB script.
      With the final position at 0 or 36, if you are 1 move back, you should be on position 35 and not position 1.

      For the correct positions:
      The inner ring R1, look at the shade around the eye up to the eye lash.
      The middle circle R2, the top of the head must be a horizontal line about 80% of this line left of the center.
      The outer ring R3, The left point of the neck must be in the center pointing down.

      Delete
  6. It makes it easier using the script by always putting the inner circle (R1)in its correct location and always inputing the value as 0---then just count R2 and R3
    -- it seemed to stop me from getting the "Starting positions not correct"
    error and solved it everytime
    Kudos for the script Andrea thank you

    ReplyDelete
    Replies
    1. oops in meant R1 = 0

      (zero)

      Delete
  7. So confusing! Only puzzle left to do and do not have a clue on how to pass it! :(

    ReplyDelete
  8. Thank you so much for this really well working solution! I have been working on this level for nearly 3 days and I could immediately solve it with this post! I cannot thank you enough. So I am done with 99 and the final level remains.

    ReplyDelete
  9. I still didn't get the difference between R1start, R2start, R3start and R1, R2, R3.

    ReplyDelete
    Replies
    1. You only need to input the values for R1start, R2start and R3start. These are the starting positions of each ring where position 0 or 36 is the solved position. R1, R2, and R3 are then used in the iterations to test all the possible moves to find a solution. When solved then the values of R1, R2 and R3 are how many turns each ring need to solve the puzzle.

      Delete
  10. R1start is the starting position of the inner ring. R1 will be the number of turns or ratations you are making or need to make. If a solution is found, then R1 will be the number of rotations needed for the inner ring to complete. Ditto with r2 and r3 wich are the middel and outside rings.

    ReplyDelete
  11. Is there a way to get past the wooden planks the Mannequin traps you behind after completing 90 puzzles? Or do you just have to exit the app and come back in later?

    ReplyDelete
    Replies
    1. Yes, tap each plank about 10 times. On my first attempt I also got stuck. Not sure if it is a bug. If you get stuck, exit then restart game, go to galleries and retry.

      Delete
  12. A truly genius solution man... Thanks a lot!

    ReplyDelete
  13. My solution is simple. By using simple equations

    ReplyDelete
  14. Using the same definition of R1 R2 and R3, to move R1 clockwise by 16 clicks, Without moving the rest, rotate R1 by 5', R2 by -7 , R3 by -11.

    ReplyDelete
    Replies
    1. what is moving and what is rotate, is not the same thing?

      Delete
  15. Move R2 by -4 without moving others , rotate R1 by -22, R2 by 10, R3 by -14

    ReplyDelete
  16. Move R3 by 16 clicks without moving the rest, rotate R1 by -7, rotate R2 by -11, R3 by 5

    ReplyDelete
  17. By my definition, positive numbering means clockwise, negative numbering means anti clockwise. Have to be very careful in clicking for just one mistake will mean all goes wrong. Good luck to whoever is trying...

    ReplyDelete
    Replies
    1. Thank you, KennethTheo. You have a different way to solve this puzzle. Might be simple if you are very careful to count correctly and not missing steps! :-)

      Delete
  18. Thank you very much for this code!
    I was so desperate that I started to think about writing my own in C++, but I bet I wouldn't be as good as you with this one.
    Worked great, thanks again.

    ReplyDelete
  19. did it by muscle lol got lucky it took me about 10 mins

    ReplyDelete
  20. God bless you, man!

    ReplyDelete
    Replies
    1. Thank you. I am truly blessed by God.

      Glad that this walkthrough was of assistance.

      This was a very difficult level to explain how to solve! :-)

      Delete
  21. I don't know how to say it , am stock ,
    r1=0
    r2=20
    r3=0
    run the script
    act according to the results , am now back to
    r1=0 and r3=0
    but i get a new value for r2
    run it again same happen new value for r2
    and it happens every time i restart the game and the script
    any help ?
    and in the script am changing only the three num in the 1st three lines , correct ??

    ReplyDelete
    Replies
    1. Never Mind man i kept repeating the loop i was stock in until it was solved
      Thanks for sharing

      Delete
  22. int r1start = 0;
    int r2start = 20;
    int r3start = 8;

    int solved = 0;

    int r1fin;
    int r2fin;
    int r3fin;

    for (int r3 = 0; r3 < 36; r3++) {
    for (int r2 = 0; r2 < 36; r2++) {
    for (int r1 = 0; r1 < 36; r1++) {

    r1fin = (r1start + r1 - (2 * r2) - (3 * r3)) % 36;
    r2fin = (r2start + r2 - (3 * r1) - (2 * r3)) % 36;
    r3fin = (r3start + r3 - (2 * r1) - (3 * r2)) % 36;

    if (solved == 0) {
    if (r1fin == 0 & r2fin == 0 & r3fin == 0) {

    System.out.println(r1 + " " + r2 + " " + r3);

    solved = 1;
    }
    }

    }
    }
    }

    if (solved == 0) {
    System.out.println("incorrect");
    }



    Thaks for the ideas!
    Here's the java code for those who prefer it.

    ReplyDelete
    Replies
    1. Wow. Thank you for supplying a java solution for puzzle 90.

      Delete
  23. I tried the VB script and it didn't work.. Tried it a dozen different times. I tried the Java code and it also did not work... This is the very last puzzle I need to complete as well.. Any help would be appreciated!

    ReplyDelete
    Replies
    1. The script is working. It is working for thousands of people. I suspect you are counting wrong (e.g. If you go anti-clockwise 1 move, you are in number 35 and not number 1) or when you are counting the starting position you do not return each circle back to the starting position.

      Delete
  24. I keep getting starting positions incorrect. I understand to get r1start, I have to move the innermost circle clock-wise to get it to the correct position and however many moves it takes is the starting position, right? And I also know that you have to move the innermost circle back to it's starting position by using the number you got for r1start. Say I moved the R1 circle 8 times clockwise and get to the correct position and now I'll move it anti-clockwise 8 times to get it back to the original position. I'm doing this yet I still get starting positions incorrect. Am I doing something wrong?

    ReplyDelete
  25. holy cannoli. this was mind blowing to have stumbled across. thank you for taking the time to do this and a serious pat on the back to you.

    ReplyDelete
    Replies
    1. Thank you Anonymous. This was by far one of the best puzzles to solve!

      Delete
  26. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  27. This comment has been removed by the author.

    ReplyDelete
  28. An easier method to solve this puzzle and faster is:

    step 1.Using R3 the outer neck ring line up the R2 and R1 to where they are perfectly lined up together. It doesnt matter at what position they line up in

    2. Next using R1 the inner eye ring is put R1 into its correct solved location
    Now using. R3 the neck ring. Set R3 in its final solved location
    Do the same for R2 using it to set it in its final solved location
    (using this order r3 (outer ring- neck) then r1 (eyes- inner ring) lastley r2 (chin- middle ring) and putting them in the correct solved location is very important because it will put them all in the correct places to move to step 3)

    step3. Now using R3 (neck- outer ring) do the same thing u did at the very beginning (step 1). Using R3 (neck outer riing) to line up the other two rings r2 and r1 but this time you'll see that they will all 3 line up.

    step4. Now u can one just move each 1 notch starting with the outer then the middle the inner making sure you move each ring the same number of notches until u have rotated the whole head to its solved location.
    This method works 100% of the time and i spent a long time of trail and error to find this easier much faster system. I hope this helps u. (another note you dont really have to move each one 1 notch as starting with r3- then r2-then r1-- just make sure to move them the equal number of notches so that the face stays alined

    I hope this helps you- it removes the tedious counting and solves it much faster

    ReplyDelete
    Replies
    1. If you would like to see my fast system in action i uploaded a quick 3-4 min vid to youtube -- where it is solved 3 times withing seconds

      http://youtu.be/kEnkrRm8DHk

      Delete
    2. Im very sorry. In Step 2 the order should be: R1 (eyes inner ring) then R3 (neck outerring) lastly R2 (chin middle ring). This order is very important as well as putting them in the correct ending solved locations which are at a slant. See pic at top of the page for these locations.

      Delete
    3. This method ROCKS!

      Delete
    4. The fast alignment method worked awesome. After multiple attempts with the VB script, clearly miscounting or misunderstanding the counting method this alternate was both faster and seemed more the intended way. Good job!

      Delete
    5. Ty very much and im very happy that my method could assist you - without André's script and his mathmatical genius, i would have never stumbled upon this method, so ill give credit where credit is due.

      Delete
  29. I tried for 5 minutes, I was really pissed to not succeed ... I made 2 very fast rotations of the circle 2 and the puzzle was resolved ! how lucky am i ? please excuse my english i'm french

    ReplyDelete
  30. I think what people find confusing is calculating the r values--everyone can count, but the description could be a little clearer. At first I was counting the clock-wise steps to the correct position, counting back just to make sure, and inputing that number as the r value. But your example of turning the first ring counter-clockwise gave it the position 35, but according to "R1, R2, and R3 are how many clock-wise steps to be made to each ring" that value would be 1. So I think that sentence just needs to be changed to 36 minus the clockwise turns, or the number of counter-clockwise turns.
    I'm not math-savvy, so I could be wrong. But that's what worked for me.
    Thank you for the marvelous script! I couldn't have solved this puzzle without it :D

    ReplyDelete
    Replies
    1. Thank you, Amy. Glad it worked for you. When I wrote this specific walkthrough it went through lots of iterations to try to get the wording right. It is quite a tricky one to describe and use terms that is easy to understand! Some people will read your comment and then the solution might make more sense for them!

      Delete
  31. There is a simpler way to solve this puzzle. If you fiddle with it until the three rings are lined up with each other, the solution from there is simple. The rings don't have to be lined up with the center, just with each other. Once you have it to this point, just rotate each ring one 'click' clockwise. After doing this, the rings will still be aligned with one another, but the whole image will have rotated slightly. Then just continue doing each ring one 'click' clockwise until the image rotates into place.

    ReplyDelete
    Replies
    1. Thank you, Michael. I like that. By just random tapping of each circle it is quite possible to get them aligned and then your solution will work. I think this will really help those that battle to understand the "scientific" solution! Thank you for sharing.

      Delete
  32. If you read these post it is shown how to line all 3 rings up

    ReplyDelete
  33. http://www.youtube.com/watch?v=kEnkrRm8DHk
    this is a very easy way to solve this

    ReplyDelete
    Replies
    1. wow this method is amazing

      Delete
  34. You've got to see this. This guy solves this puzzle five times like it is nothing. http://www.youtube.com/watch?v=PVg0mW9lJe0&feature=youtu.be

    ReplyDelete
  35. same is happening to me. it runs off the screen

    ReplyDelete