Spoiler for last week’s fivethirtyeight.com Riddler Classic:
From Joseph Converse, a puzzle of digital manipulation:
Imagine taking a number and moving its last digit to the front. For example, 1,234 would become 4,123. What is the smallest positive integer such that when you do this, the result is exactly double the original number? (For bonus points, solve this one without a computer.)
Write the number (call it ) as , where ; for instance, for 1,234, and . Let be the number of digits in ; then the number resulting from moving the last digit to the front is . We want .
Solving, we get . Now, 19 is prime and so isn’t a multiple of 19, and therefore must be, that is, .
Going ahead and doing the long division ― that is, dividing 100, 1000, 10000… by 19 until a remainder of 2 is found ― we get ; . That has 16 digits, so won’t work; will give us a 17-digit , though. So the smallest number that works is .
We require to have the same number of digits as , and that means the first digit of can’t be 1. So let’s try making it 2. Then that’s also the last digit of .
Now, the last digit of is 4, which is also the second to last digit of . And then the second to last digit of is 8, which must be the third to last digit of . Then the third to last digit of is 6, with a carry. That means the fourth to last digit of is 6 and the fourth to last digit of is 3, with a carry.
And so on, until we reach a place where the digit of is 1 and is 2 without a carry. Stop there. Follow that procedure and you get as before.
Except we don’t know that this is the smallest answer. We need to do the same with last digit of running from 3 to 9. In fact (and as you’d expect having seen the other method) this is the smallest.
I’m rather surprised the second way didn’t occur to me sooner; it seems a good deal more obvious in retrospect. Then again, had I done it first I think I might’ve looked at the size of the result and been unconfident I hadn’t overlooked something that might give a smaller answer. The first method confirms it and makes it more clear, I think, that this really is the minimum. It also provides the insight that the answer is not just a mysterious sequence of digits but is connected with the decimal representation of 1/19.
Instead of moving the digit to get multiplication by 2, what about by 3? Or by generally? Adapting either method, one finds moving the last digit of 1034482758620689655172413793 to the front gives triple that number. For quadrupling we get a much smaller answer: 102564 = 410256/4. For quintupling we encounter for the first time the necessity of checking all possible last digits, not just the minimum one: Using 5 for the last digit we find 102040816326530612244897959183673469387755, but with 7 we get 142857! This is related to the fact that if you try the first method, you need , and 49 is not prime, so when we need rather than .
Here’s a table for = 1 through 9. I am glad the Riddler puzzle didn’t ask for 6 (by hand)… I did these with a spreadsheet.
All your base
Another generalization of the original puzzle is to do it in base instead of base 10. There’s no solution in binary, as you can figure out by trying to adapt either method above, or just by noting that doubling a number in binary means appending a 0 to the right end, so you can’t double a number and get a number with the same number of binary digits (bits). In base 3, starting with final digit 2 for , the final digit for is 1 with a carry of 1; 1 for the next digit of gives 0 for the next digit of with a carry; 0 for gives 1 for ; 1 for gives 2 for and we’re done: . In decimal, that’s 32 and 64. (In higher bases we need to check last digits from 2 to .) Alternatively, we want and so require . works and then . So with , and .
In all bases from 3 through 10:
Edit to add:
And if this Python script is bug free, then
is the smallest base 15 number which is multiplied by (decimal) 10 when the last digit is moved to the front. At 148 digits, it’s the longest such number for all bases up to 16 and all factors up to (base-1).