Jul 04, 2020
Vincent van Gogh, The Starry Night, 1889
Every month, Jane Street Capital post a puzzle on their website. This was the puzzle for June 2020.
Call a “ring” of circles a collection of six circles of equal radius, say r, whose centers lie on the six vertices of a regular hexagon with side length 2r. This makes each circle tangent to its two neighbors, and we can call the center of the regular hexagon the “center” of the ring of circles. If we are given a circle C, what is the maximum proportion of the area of that circle we can cover with rings of circles entirely contained within C that all are mutually disjoint and share the same center?
I think the most difficult step in this months puzzle was to translate the problem statement above into a visual representation, as shown below. If you got this far, you probably were able to solve the puzzle.
Due to the symmetry of a hexagon, the ratio of the radius of two adjacent ring of circles are always the same. Basic trigonometry was required to determine this ratio.
We now have a single equation, single variable.
I used the “Goal Seek” function in Excel to resolve k.
In Excel: select the Data tab, in the Data Tools group, click What-If Analysis, and then click Goal Seek.
Another way to solve the equation is to use one of the online solvers, e.g. WolframAlpha
This was the answer submitted that got my name on the “Correct Submissions” list.
As always, this was a lot of fun. Thanks to Jane Street for posting this.
[1] GitHub: Excel file (with Goal Seek) and Python code (to draw the diagrams)
https://github.com/whoek/janestreet-puzzles/tree/master/2020-06. Retrieved: 2020-07-04
[2] Jane Street - Puzzle Archive
https://www.janestreet.com/puzzles/archive/. Retrieved: 2020-07-04
How-to Import an Excel file into SQLite and back to Excel again
Solving the Jane Street puzzle of December 2022
Why I created Scrumdog - a program to download Jira Issues to a local database
Jane Street puzzle Feb 2021 SOLVED! OCaml to the rescue
Solving the Jane Street puzzle of Dec 2020 - Backtracking with OCaml
Automate your Jira reporting with Python and Excel