Riddler Classic for 23 March 2018 (part 2)

We’ve seen a generalization of the problem to multiplicative factors other than 2 and bases other than 10. A third generalization would be to shift more than one digit.

Take a positive integer j in base b and move its last m digits to the front. What is the smallest j such that when you do this, the result k is exactly p times j (where p is in the range [2,b-1 ] )?

Let j= b^m \times y+x, where b^{m-1}\le x< b^m . So the digits of x are the final m digits of j and the initial m digits of k, and the digits of y are the remaining digits of both. Let n be the number of digits in y. Then we require

p(b^my+x)= b^nx+y.

Solving, (pb^m-1)y=(b^n-p)x or

y= \frac{b^n -p}{pb^m-1}x .

Now let g=\gcd(pb^m-1,x) and let w=x/g, v=(pb^m-1)/g. Then

y= \frac{b^n-p}{v}w

and since v and w are relatively prime, we must have

b^n=p\mod v.

So we must calculate pb^m-1 and then, for each possible value of x, obtain v and look for the least n that satisfies the above relation. (The minimal value of x is in fact not b^{m-1} but pb^{m-1}, since there can be no carry to an additional digit when j is multiplied by p.) Then we can compute y, and verify that it does indeed have n digits. The smallest such y and associated x solve the problem.

If (pb^m-1) is prime, then v = (pb^m-1) for all possible x and the smallest k results when x=pb^{m-1}. But if (pb^m-1) has a common factor with some x, then v is some factor of (pb^m-1). Generally n, the number of digits in y, is on the order of v, so when (pb^m-1) is prime the solution tends to be many orders of magnitude larger than when it is not.

For instance, consider p=3 and b=10. For m=2, (pb^m-1)=299=13\times 23. In that case some values of x have a common factor with (pb^m-1). E.g., x=46 gives

y= \frac{10^n-3}{13}w


10^n=3\mod 13.

The solution is n=4, leading to

j=153846, k=3j=461538.

But for m=1, (pb^m-1)=29 is prime. The number of digits in y then turns out to be 27, and


And for m=3, (pb^m-1)=2999 is prime too. We end up with the 1499 digit solution

j = 100033344448149383127709236412137379126375458486162054018006\\ 0020006668889629876625541847282427475825275091697232410803601200\\ 4001333777925975325108369456485495165055018339446482160720240080\\ 0266755585195065021673891297099033011003667889296432144048016005\\ 3351117039013004334778259419806602200733577859286428809603201067\\ 0223407802600866955651883961320440146715571857285761920640213404\\ 4681560520173391130376792264088029343114371457152384128042680893\\ 6312104034678226075358452817605868622874291430476825608536178726\\ 2420806935645215071690563521173724574858286095365121707235745248\\ 4161387129043014338112704234744914971657219073024341447149049683\\ 2277425808602867622540846948982994331443814604868289429809936645\\ 5485161720573524508169389796598866288762920973657885961987329109\\ 7032344114704901633877959319773257752584194731577192397465821940\\ 6468822940980326775591863954651550516838946315438479493164388129\\ 3764588196065355118372790930310103367789263087695898632877625875\\ 2917639213071023674558186062020673557852617539179726575525175058\\ 3527842614204734911637212404134711570523507835945315105035011670\\ 5568522840946982327442480826942314104701567189063021007002334111\\ 3704568189396465488496165388462820940313437812604201400466822274\\ 0913637879293097699233077692564188062687562520840280093364454818\\ 2727575858619539846615538512837612537512504168056018672890963654\\ 5515171723907969323107702567522507502500833611203734578192730910\\ 3034344781593864621540513504501500500166722240746915638546182060\\ 6868956318772924308102700900300.

If you’d asked me to guess, before I worked any of this out, the order of magnitude of the smallest positive integer which is exactly tripled when you move the last three digits to the front, I’m pretty sure I would have seriously underestimated it.


Riddler Classic for 23 March 2018

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.)

One way

Write the number (call it m) as 10y+x, where x<10; for instance, for 1,234, y=123 and x=4. Let n be the number of digits in y; then the number resulting from moving the last digit to the front is 10^nx+y. We want 2(10y+x)=10^nx+y.

Solving, we get y = (10^n-2)x/19. Now, 19 is prime and x<10 so isn’t a multiple of 19, and therefore (10^n-2) must be, that is, 10^n\mod 19 = 2.

Going ahead and doing the long division ― that is, dividing 100, 1000, 10000… by 19 until a remainder of 2 is found ― we get n=17; (10^{17}-2)/19 = 5263157894736842. That has 16 digits, so x=1 won’t work; x=2 will give us a 17-digit y=10526315789473684, though. So the smallest number that works is m = 105263157894736842 = 210526315789473684/2.

Another way

We require 2m to have the same number of digits as m, and that means the first digit of 2m can’t be 1. So let’s try making it 2. Then that’s also the last digit of m.

Now, the last digit of 2m is 4, which is also the second to last digit of m. And then the second to last digit of 2m is 8, which must be the third to last digit of m. Then the third to last digit of 2m is 6, with a carry. That means the fourth to last digit of m is 6 and the fourth to last digit of 2m is 3, with a carry.

And so on, until we reach a place where the digit of m is 1 and 2m is 2 without a carry. Stop there. Follow that procedure and you get n = 105263157894736842 as before.

Except we don’t know that this is the smallest answer. We need to do the same with last digit of m 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 k 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 y = (10^n-5)x/49, and 49 is not prime, so when x=7 we need 10^n \mod 7 = 5 rather than 10^n \mod 49 = 5.

Here’s a table for k = 1 through 9. I am glad the Riddler puzzle didn’t ask for 6 (by hand)… I did these with a spreadsheet.

1 1
2 105263157894736842
3 1034482758620689655172413793
4 102564
5 142857
6 1016949152542372881355932203389830508474576271186440677966
7 1014492753623188405797
8 1012658227848
9 10112359550561797752808988764044943820224719

All your base

Another generalization of the original puzzle is to do it in base b 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 m, the final digit for 2m is 1 with a carry of 1; 1 for the next digit of m gives 0 for the next digit of 2m with a carry; 0 for m gives 1 for 2m; 1 for m gives 2 for 2m and we’re done: 1012_3 = 2101_3/2. In decimal, that’s 32 and 64. (In higher bases we need to check last digits from 2 to b-1.) Alternatively, we want y = (3^n-2)x/5 and so require 3^n \mod 5 = 2. n = 3 works and then y = 5x. So with x = 2, y = 10 = 101_3 and m = 1012_3.

In all bases from 3 through 10:

3 1012
4 102
5 13
6 1031345242
7 103524563142
8 25
9 10467842
10 105263157894736842

Edit to add:

And if this Python script is bug free, then

\mathrm{10179b72334c73ad1496e2dbd2c4365203047e46699e76b293dd5c8b5986ca406090d8cd44}\\  \mathrm{ded7537cbba27b41da580c131c2ab89cebea70a88550783c5b119263956824ae8e5e1621aa_{15}}

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).


Schizophrenic thinking

Some years ago I wrote up something about schizophrenic numbers. I read about these numbers in one of Clifford Pickover’s books, but he didn’t really get into what made them work the way they do, so I figured it out on my own. I posted it to the web. Now I can’t find a copy in my files or on my computer, and even the Internet Archive fails me — it didn’t archive it.

So I reconstructed it, more or less. I think.

The schizophrenic numbers are defined as follows. To start with we define

f(x) = \begin{cases} 0& \mbox{if } m=0\\10f(m-1)+m& \mbox{if } m>0\end{cases}\\=\sum\limits_{k=0}^{m} 10^{m-k}k

The first several f(m) are

f(0)=0 \\ f(1)=1\\f(2)=12\\f(3)=123\\f(4)=1234\\f(5)=12345\\f(6)=123456\\f(7)=1234567\\f(8)=12345678\\f(9)=123456789\\f(10)=1234567900\\f(11)=12345679011

and so on. Now the mth schizophrenic number is


Are any of the f(2m+1) perfect squares (for m>0)? No, they aren’t, as will become evident below. Therefore S(0) is the only rational in the set. The rest are irrational, so should be non-repeating decimals.

But let’s look at S(20)=\sqrt{12345679012345679012345679012345679012341}. Its value is



It can’t be a rational number, unless it’s an integer, and it’s not an integer. What’s going on? Let’s get some more significant figures.


Oh, okay, that’s better. It’s not a repeating decimal after all…




Um, okay?



Seems not to be able to make up its mind whether to be rational or not. Hence schizophrenic. Here’s about 500 decimal places, broken up into “rational” and “irrational” pieces:

S(20)=111111111111111111111.111111111111111111 \\ 0900\\5555555555555555555555555555555555555\\3560541\\666666666666666666666666666666666\\2886115347\\22222222222222222222222222222\\1326704128428819\\444444444444444444444444\\2068634941610546874\\999999999999999999999\\32467614881946461588541\\6666666666666666\\465564871268691522639973958\\333333333333\\2714065492129693624196136474609374\\999999\\804414573486517125197501992119683159722159\\214377070903714104597488983578152126715487\\497795899993976792215472407658894849931527\\56767644661366482...

(I calculated that by hand. HA HA HA no actually I used a Python script, with the mpmath library.) The repeating pieces get shorter and shorter, the non-repeating pieces get longer and longer, and then (apparently) the repetition stops (aside from random repeats) and it finally starts behaving like we expect irrational numbers to do.

I mean, sure, we all know there exist an infinite number of irrationals that have arbitrarily large (but finite) numbers of repeating digits in them. But who’d expect behavior like this from the square root of an integer? What’s going on?

Well, observe that if x = 0.0123456790123456790123... then

10^9x = 12345679.0123456790123456790123...=12345679+x \\ \Rightarrow x=12345679/999999999=1/81

So f(m) is a little smaller than 10^{m+1}/81. In particular you can see if you think about it, and you can prove inductively using the recurrence formula for f(m), that


which means

S(m)=\sqrt{10^{2m+2}/81-(19+18m)/81} \\ =\frac{10^{m+1}}{9}\sqrt{1-\frac{19+18m}{10^{2m+2}}}

Now you can use the Taylor series expansion

\sqrt{1-y} = 1-y/2-y^2/4-y^3/8-5y^4/128....

Here y is (19+18m)/10^{2m+2}, which for large m is a bunch of zeros after the decimal point, followed by a few digits. In the expansion the terms after the first are powers of y multiplied by an integer and divided by powers of 2, which for higher powers are lots of zeros after the decimal point, followed by some digits. The infinite sum gets divided by 9 — which turns the first term into 0.11111... and each of the following terms into zeros after the decimal point, followed by some digits, followed by some digit repeating to infinity — and then multiplied by 10^{m+1}, which just shifts the decimal point. Look at the first few terms for S(5):

111111.111111... \\ -0.0000060555555...\\-0.000000000000000165013888888...\\-0.0000000000000000000000000089932569444444...\\-0.0000000000000000000000000056207855902777777...

For the first three terms, there are enough zeros in the subsequent term to preserve some of the repeating digits in the sum. The fifth term, though, scribbles over the repeating 4s in the fourth term, and so we only see three sets of repeating digits in S(5):


But for larger m, each term has more leading zeros due to the power of 10^{2m+2} in the denominator, and more terms contribute repeating digits before the scribble-over point is reached. (And you get more and more 1s before and after the decimal point; in other words, you get closer and closer to a power of 10 times 1/9, so no, none of the corresponding f(m) are perfect squares.) I referred somewhat facetiously to “rational” and “irrational” pieces above, but it’s sort of true; the repeating digits are where you can see that there is a finite number of rational terms in the Taylor series contributing to the sum.