Google billboard puzzle (the lazy way)
Recently, I heard about google advertising puzzles on billboards. Since the puzzle was blogged, I knew there would be solutions out there. Being curious, I googled for solutions and found some spoilers. After reviewing some of them, I realized that there is a much easier way to solve this puzzle (for the mathematically non-savvy like myself), even though this problem is not all that challenging; just computationally expensive.
The first thing I did was get to try and get the first n digits of e. After a bit of googling I found the value of e computed to 100,000 decimal places (I followed this trail). Next I googled for all 10 digit primes, landing at this page. I downloaded the Sieve 64-bit program and ran it for all numbers between 999,999,999 to 8,000,000,000 (it’s limited to 8,000,000,000 but might go further if you have enough RAM).
This gives me what I need: value of e computed to 100,000 decimal places and a list of (nearly) all 10-digit primes. Searching each of these primes in the string containing the 100,000 digits of e is a trivial task and will give you 7427466391.
The solution to the first riddle will land you at http://7427466391.com/. On this page you’ll find the following:
“Congratulations. You’ve made it to level 2. Go to www.Linux.org and enter Bobsyouruncle as the login and the answer to this equation as the password.”
f(1)= 7182818284
f(2)= 8182845904
f(3)= 8747135266
f(4)= 7427466391
f(5)= __________
This is where you have to put on your thinking caps. The first thing I did was search the first number 7182818284 in the list of primes, which didn’t turn up anything. Next I searched in the string of e to 100,000 decimal places and found it right away. Subsequently, I found all the the 4 numbers in the value of e:
e =
2.71828182845
904523536028747135266
2497757247093699959574966967627724076630353
547594571382178525166427427466391
9320030599218174135966290435
7290033429526059563073813 23286279434907632
3382988075319525101901157383418793070215408
9149934884167509244761460668082264800168477
411853742345442437107539077744992
After this, the puzzle becomes much more manageable and all that remains is to find a pattern in the sequence of numbers. I have to admit that I had already seen the solution here so it was spoiled for me. The poster states something about the ordinal position of the numbers which I think has nothing to do with the solution. It’s a fruitless path. The only pattern that matters is that all 4 numbers are a string of 10-digit numbers adding up to 49 which is easy to get at. Our job is to find the next 10 digit sequence of numbers in e, that adds up to 49. Solving this is also a trivial, programmable task.
There’s another trick to finding the password as well: brute force! This mean you don’t have to rattle your brains in search of a pattern. Right away you will realize that all four 10-digit numbers lie within close proximity of each other. It is likely that the fifth number (the answer we are looking for) also lies in close proximity so brute force appears to be very feasible. The second thing you’ll notice is that all numbers are in sequential order. f(1) occurs first, then f(2), then f(3)… so f(5) will probably occur after f(4). You can get a string of the next one hundred, 10-digit numbers after f(4) and try them all as password on the linux page. In fact after the first 30 or so attempts you’ll have landed at the correct answer and you’re in! In a way the puzzle is a decent one, but it is easy to cheat at.
5966290435, is the password to the login bobsyouruncle for linux.org.
This will eventually land you at the Google Labs page from where you can send your resume directly to problem-solver@google.com and apply for a job at Google.
Comments
Post is no longer open for comments.