Merry Xmas!
25 Dec 2010To everyone who participated in the Christmas Conundrum, I hope you enjoyed this little dose of holiday fun. :-)
Congrats to everyone who solved it. If you're curious, here are the first seven people who solved it, in order:
- Christer Edvartsen
- Terry Matula
- Derick Rethans
- Andrei Zmievski
- Patrick Springstubbe
- Helmut Hummel
- Krzysztof Kotowicz
If you want the solution, keep reading.
I created the puzzle before going to bed Tuesday night. I had a lot of ideas, but I kept coming back to the idea of beginning with an animated digital clock, just like I used for a puzzle I made years ago. For that puzzle, the order of the sequence was irrelevant, so I made the clock advance pretty normally. This time, I decided I would make the sequence matter, which would make the clock seem much more sporadic. I also wanted to tailor the puzzle to an audience primarily made up of developers. Binary it is. :-)
Next, I plotted MERRY XMAS! in a text file:
X X XXXXX XXXX XXXX X XXX XX X X X X X X XX X X XXXX XXXX XXXX XX X X X X X X XX X XXXXX X X X X XX X X X X XXX XX X XX XX X X X XX X X X XXXXX XXX XX X X X X X XX X X X X X XXX X
Knowing that I wanted to use binary and wanted to use a digital clock, I knew the numbers couldn't be too big. I like creative puzzles, but I also wanted to get to bed, so I simply assigned the values vertically, like this:
1024 X X XXXXX XXXX XXXX X X512 XX XX X X X X X X X256 X X X XXXX XXXX XXXX X128 X X X X X X X X64 X X XXXXX X X X X X3216 X X X X X XXX X8 X X XX XX X X X X4 X X X X XXXXX XXX X2 X X X X X X X1 X X X X X X XXX X
I was still doing this by hand. (I made the old puzzle with PHP.) At this point, I regretted that decision a bit, but I powered through and quickly added up each column, from right to left:
1024512256 + 128 + 64 + 16 + 8 + 4 + 1 = 4775121024512 + 64 + 2 = 5781024 + 256 + 128 + 16 + 4 + 1 = 14291024 + 256 + 16 + 4 + 1 = 13011024 + 256 + 16 + 4 + 1 = 13011024 + 512 + 256 + 128 + 64 + 8 = 1992512 + 64 + 4 + 2 + 1 = 5831024 + 256 + 128 + 8 + 4 = 14201024 + 256 + 16 + 4 = 13001024 + 256 + 8 + 4 = 12921024 + 512 + 256 + 128 + 64 + 4 + 2 + 1 = 19911024 + 64 + 16 + 8 + 4 + 2 + 1 = 11191024 + 256 + 64 + 8 = 13521024 + 256 + 64 + 4 = 13481024 + 256 + 64 + 8 = 13521024 + 512 + 256 + 128 + 64 + 16 + 8 + 4 + 2 + 1 = 20151024 + 512 + 256 + 128 + 64 + 16 + 1 = 2001512 + 8 + 2 = 522256 + 4 = 260512 + 8 + 2 = 5221024 + 512 + 256 + 128 + 64 + 16 + 1 = 2001
This gave me numbers small enough to work (no larger than four digits). If I had been lucky enough that each number could also represent a valid time, I was going to add one more bit of cleverness and use an analog clock with different colors to denote ante meridiem and post meridiem. But, since I wasn't so lucky, I went with the original idea of a digital clock and made this:

I was pretty happy that the first two numbers made for a nice hint, and the hint I posted was really just an attempt to make it clear that these were binary numbers:

Solving the puzzle required that you imagine each blink of the lights representing a horizontal slice of a larger image:

Thanks again to everyone who participated. I had fun, and I hope you did, too. :-)
Merry Christmas!