Q: When you write a fraction with a prime denominator in decimal form it repeats every p-1 digits. Why?

The original question was: How come the length of the repetend for some fractions (e.g. having a prime number p as a denominator) is equal to p-1?


Physicist: The question is about the fact that if you type a fraction into a calculator, the decimal that comes out repeats.  But it repeats in a very particular way.  For example,

\frac{1}{7} = 0.\underbrace{142857}_{repetend}142857142857\ldots

7 is a prime number and (you can check this) all fractions with a denominator of 7 repeat every 7-1=6 digits (even if it does so trivially with “000000”).  The trick to understanding why this happens in general is to look really hard at how division works.  That is to say: just do long division and see what happens.

When we say that \frac{1}{7} = 0.142857\ldots, what we mean is \frac{1}{7} = 0 + \frac{1}{10} + \frac{4}{10^2} + \frac{2}{10^3}+ \frac{8}{10^4}+ \frac{5}{10^5}+ \frac{7}{10^6}\ldots.  With that in mind, here’s why \frac{1}{7} = 0.142857\ldots.

\begin{array}{ll}  \frac{1}{7} \\[2mm]  = \frac{1}{10}\frac{10}{7} \\[2mm]  = \frac{1}{10} + \frac{1}{10}\frac{3}{7} \\[2mm]  = \frac{1}{10} + \frac{1}{10^2}\frac{30}{7} \\[2mm]  = \frac{1}{10} + \frac{4}{10^2} + \frac{1}{10^2}\frac{2}{7} \\[2mm]  = \frac{1}{10} + \frac{4}{10^2} + \frac{1}{10^3}\frac{20}{7} \\[2mm]  = \frac{1}{10} + \frac{4}{10^2} + \frac{2}{10^3} + \frac{1}{10^3}\frac{6}{7} \\[2mm]  \end{array}

and so on forever.  You’ll notice that the same thing is done to the numerator over and over: multiply by 10, divide by 7, the quotient is the digit in the decimal and the remainder gets carried to the next step, multiply by 10, ….  The remainder that gets carried from one step to the next is just \left[10^k\right]_7.

Quick aside: If you’re not familiar with modular arithmetic, there’s an old post here that has lots of examples (and a shallower learning curve).  The bracket notation I’m using here isn’t standard, just better.  “[4]3” should be read “4 mod 3”.  And because the remainder of 4 divided by 3 and the remainder of 1 divided by 3 are both 1, we can say “[4]3=[1]3“.

\begin{array}{l|l}\frac{1}{7}&[1]_7\\[2mm]=\frac{1}{10}\frac{10}{7}&[10]_7\\[2mm]=\frac{1}{10}+\frac{1}{10}\frac{3}{7}&[10]_7=[3]_7\\[2mm]=\frac{1}{10}+\frac{1}{10^2}\frac{30}{7}&[10^2]_7=[30]_7\\[2mm]=\frac{1}{10}+\frac{4}{10^2}+\frac{1}{10^2}\frac{2}{7}&[10^2]_7=[2]_7\\[2mm]=\frac{1}{10}+\frac{4}{10^2}+\frac{1}{10^3}\frac{20}{7}&[10^3]_7=[20]_7\\[2mm]=\frac{1}{10}+\frac{4}{10^2}+\frac{2}{10^3}+\frac{1}{10^3}\frac{6}{7}&[10^3]_7=[6]_7\\[2mm]  \end{array}

These aren’t the numbers that end up in the decimal expansion, they’re the remainder left over when you stop calculating the decimal expansion at any point.  What’s important about these numbers is that they each determine the next number in the decimal expansion, and they repeat every 6.

\begin{array}{ll}  [1]_7=1\\[2mm]  [10]_7=3\\[2mm]  [10^2]=2\\[2mm]  [10^3]=6\\[2mm]  [10^4]=4\\[2mm]  [10^5]=5\\[2mm]  [10^6]=1\end{array}

After this it repeats because, for example, [10^9]_7 = [10^3\cdot10^6]_7 = [10^3\cdot1]_7 = [10^3]_7.  If you want to change the numerator to, say, 4, then very little changes:

\begin{array}{l|l}\frac{4}{7}&[4]_7\\[2mm]=\frac{5}{10}+\frac{1}{10}\frac{5}{7}&[4\cdot10]_7=[5]_7\\[2mm]=\frac{5}{10}+\frac{7}{10^2}+\frac{1}{10^2}\frac{1}{7}&[4\cdot10^2]_7=[1]_7\\[2mm]=\frac{5}{10}+\frac{7}{10^2}+\frac{1}{10^3}+\frac{1}{10^3}\frac{3}{7}&[4\cdot10^3]_7=[3]_7\\[2mm]=\frac{5}{10}+\frac{7}{10^2}+\frac{1}{10^3}+\frac{4}{10^4}+\frac{1}{10^4}\frac{2}{7}&[4\cdot10^4]_7=[2]_7\\[2mm]=\frac{5}{10}+\frac{7}{10^2}+\frac{1}{10^3}+\frac{4}{10^4}+\frac{2}{10^5}+\frac{1}{10^5}\frac{6}{7}&[4\cdot10^5]_7=[6]_7\\[2mm]=\frac{5}{10}+\frac{7}{10^2}+\frac{1}{10^3}+\frac{4}{10^4}+\frac{2}{10^5}+\frac{8}{10^6}+\frac{1}{10^6}\frac{4}{7}&[4\cdot10^6]_7=[4]_7\\[2mm]\end{array}

So the important bit to look at is the remainder after each step.  More generally, the question of why a decimal expansion repeats can now be seen as the question of why [10^k]_P repeats every P-1, when P is prime.  For example, for \frac{2}{3} we’d be looking at [2\cdot10^k]_3 and for \frac{30}{11} we’d be looking at [30\cdot10^k]_{11}.  The “10” comes from the fact that we use a base 10 number system, but that’s not written in stone either (much love to my base 20 Mayan brothers and sisters.  Biix a beele’ex, y’all?).

It turns out that when the number in the denominator, M, is coprime to 10 (has no factors of 2 or 5), then the numbers generated by successive powers of ten (mod M) are always also coprime to M.  In the examples above M=7 and the powers of 10 generated {1,2,3,4,5,6} (in a scrambled order).  The number of numbers less than M that are coprime to M (have no factors in common with M) is denoted by ϕ(M), the “Euler phi of M”. For example, ϕ(9)=6, since {1,2,4,5,7,8} are all coprime to 9.  For a prime number, P, every number less than that number is coprime to it, so ϕ(P)=P-1.

When you find the decimal expansion of a fraction, you’re calculating successive powers of ten and taking the mod.  As long as 10 is coprime to the denominator, this generates numbers that are also coprime to the denominator.  If the denominator is prime, there are P-1 of these.  More generally, if the denominator is M, there are ϕ(M) of them.  For example, \frac{5}{21}=0.\underbrace{238095238095}238095238095\ldots, which repeats every 12 because ϕ(21)=12.  It also repeats every 6, but that doesn’t change the “every 12” thing.

Why the powers of ten must either hit every one of the ϕ(M) coprime numbers, or some fraction of ϕ(M) (\frac{\phi(M)}{2}, or \frac{\phi(M)}{3}, or …), thus forcing the decimal to repeat every ϕ(M) will be in the answer gravy below.


Answer Gravy: Here’s where the number theory steps in.  The best way to describe, in extreme generalization, what’s going on is to use “groups“.  A group is a set of things and an operation, with four properties: closure, inverses, identity, and associativity.

In this case the set of numbers we’re looking at are the numbers coprime to M, mod M.  If M=7, then our group is {1,2,3,4,5,6} with multiplication as the operator.  This group is denoted “\mathbb{Z}_7^\times“.

The numbers coprime to M are “closed” under multiplication, which means that if a\in\mathbb{Z}_7^\times and b\in\mathbb{Z}_7^\times, then a\cdot b\in\mathbb{Z}_7^\times.  This is because if you multiply two numbers with no factors in common with M, then you’ll get a new number with no factors in common with M.  For example, [3\cdot4]_7=[12]_7=[5]_7.  No 7’s in sight (other than the mod, which is 7).

The numbers coprime to M have inverses.  This is a consequence of Bézout’s lemma (proof in the link), which says that if a and M are coprime, then there are integers x and y such that xa+yM=1, with x coprime to M and y coprime to a.  Writing that using modular math, if a and M are coprime, then there exists an x such that [xa]_M=[1]_M.  For example, [1\cdot1]_7=[1]_7, [2\cdot4]_7=[1]_7, [3\cdot5]_7=[1]_7, and [6\cdot6]_7=[1]_7.  Here we’d write [3^{-1}]_7=[5]_7, which means “the inverse of 3 is 5”.

The numbers coprime to M have an identity element.  The identity element is the thing that doesn’t change any of the other elements.  In this case the identity is 1, because 1\cdot x=x in general.  1 is coprime to everything (it has no factors), so 1 is always in \mathbb{Z}_M^\times regardless of what M is.

Finally, the numbers coprime to M are associative, which means that (ab)c=a(bc).  This is because multiplication is associative.  No biggy.

 

So \mathbb{Z}_M^\times, the set of numbers (mod M) coprime to M, form a group under multiplication.  Exciting stuff.

But what we’re really interested in are “cyclic subgroups”.  “Cyclic groups” are generated by the same number raised to higher and higher powers.  For example in mod 7, {31,32,33,34,35,36}={3,2,6,4,5,1} is a cyclic group.  In fact, this is \mathbb{Z}_7^\times.  On the other hand, {21,22,23}={2,4,1} is a cyclic subgroup of \mathbb{Z}_7^\times.  A subgroup has all of the properties of a group itself (closure, inverses, identity, and associativity), but it’s a subset of a larger group.

In general, {a1,a2,…,ar} is always a group, and often is a subgroup.  The “r” there is called the “order of the group”, and it is the smallest number such that [a^r]_M=[1]_M.

Cyclic groups are closed because [a^x\cdot a^y]_M=[a^{x+y}]_M.

Cyclic groups contain the identity.  There are only a finite number of elements in the full group, \mathbb{Z}_M^\times, so eventually different powers of a will be the same.  Therefore,

\begin{array}{ll}    [a^x]_M=[a^y]_M \\[2mm]    \Rightarrow[a^x]_M=[a^xa^{y-x}]_M \\[2mm]    \Rightarrow[(a^x)^{-1}a^x]_M=[(a^x)^{-1}a^xa^{y-x}]_M \\[2mm]    \Rightarrow[1]_M=[a^{y-x}]_M    \end{array}

That is to say, if you get the same value for different powers, then the difference between those powers is the identity.  For example, [3^2]_7=[2]_7=[3^8]_7 and it’s no coincidence that [3^{8-2}]_7=[3^6]_7=[1]_7.

Cyclic groups contain inverses.  There is an r such that [a^r]_M=[1]_M.  It follows that [ba^x]_M=[1]_M\Rightarrow[ba^x]_M=[a^r]_M\Rightarrow[b]_M=[a^{r-x}]_M.  So, [\left(a^x\right)^{-1}]_M=[a^{r-x}]_M.

And cyclic subgroups have associativity.  Yet again: no biggy, that’s just how multiplication works.

 

It turns out that the number of elements in a subgroup always divides the number of elements in the group as a whole.  For example, \mathbb{Z}_M^\times={1,2,3,4,5,6} is a group with 6 elements, and the cyclic subgroup generated by 2, {1,2,4}, has 3 elements.  But check it: 3 divides 6.  This is Lagrange’s Theorem.  It comes about because cosets (which you get by multiplying every element in a subgroup by the same number) are always the same size and are always distinct.  For example (again in mod 7),

\begin{array}{rl}    1\cdot\{1,2,4\} & = \{1,2,4\} \\    2\cdot\{1,2,4\} & = \{2,4,1\} \\    3\cdot\{1,2,4\} & = \{3,6,5\} \\    4\cdot\{1,2,4\} & = \{4,1,2\} \\    5\cdot\{1,2,4\} & = \{5,3,6\} \\    6\cdot\{1,2,4\} & = \{6,5,3\} \\    \end{array}

The cosets here are {1,2,4} and {3,5,6}.  They’re the same size, they’re distinct, and together they hit every element in \mathbb{Z}_7^\times.  The cosets of any given subgroup are always the same size as the subgroup, always distinct (no shared elements), and always hit every element of the larger group.  This means that if the subgroup has S elements, there are C cosets, and the group as a whole has G elements, then SD=G.  Therefore, in general, the number of elements in a subgroup divides the number of elements in a whole group.

 

To sum up:

In order to calculate a decimal expansion (in base 10) you need to raise 10 to higher and higher powers and divide by the denominator, M.  The quotient is the next digit in the decimal and the remainder is what’s carried on to the next step.  The remainder is what the “mod” operation yields.  This leads us to consider the group of \mathbb{Z}_M^\times which is the multiplication mod M group of numbers coprime to M (the not-coprime-case will be considered in a damn minute).  \mathbb{Z}_M^\times has exactly ϕ(M) elements.  The powers of 10 form a “cyclic subgroup”.  The number of numbers in this cyclic subgroup must divide ϕ(M), by Lagrange’s theorem.

If P is prime, then ϕ(P)=P-1, and therefore if the denominator is prime the length of the cycle of digits in the decimal expansion (which is dictated by the cyclic subgroup generated by 10) must divide P-1.  That is, the decimal repeats every P-1, but it might also repeat every \frac{P-1}{2} or \frac{P-1}{3} or whatever.  You can also calculate ϕ(M) for M not prime, and the same idea holds.


Deep Gravy:

Finally, if the denominator is not coprime to 10 (e.g., 3/5, 1/2, 1/14, 71/15, etc.), then things get a little screwed up.  If the denominator is nothing but factors of 10, then the decimal is always finite.  For example, \frac{1}{8}=0.125\underbrace{0}_{repetend}000000.

\begin{array}{l|l}    \frac{1}{8}&[1]_8\\[2mm]    =\frac{1}{10}+\frac{1}{10}\frac{2}{8}&[10]_8=[2]_8\\[2mm]    =\frac{1}{10}+\frac{2}{10^2}+\frac{1}{10^2}\frac{4}{8}&[10^2]_8=[4]_8\\[2mm]    =\frac{1}{10}+\frac{2}{10^2}+\frac{5}{10^3}&[10^3]_8=[0]_8\\[2mm]    \end{array}

In general, if the denominator has powers of 2 or 5, then the resulting decimal will be a little messy for the first few digits (equal to the higher of the two powers, for example 8=23) and after that will follow the rules for the part of the denominator coprime to 10.  For example, 28=2^2\cdot7.  So, we can expect that after two digits the decimal expansion will settle into a nice six-digit repetend (because ϕ(7)=6).

Fortunately, the system works: \frac{1}{28}=0.03\underbrace{571428}571428\ldots

This can be understood by looking at the powers of ten for each of the factors of the denominator independently.  If A and B are coprime, then \mathbb{Z}_{AB}^\times \cong \mathbb{Z}_{A}^\times\otimes \mathbb{Z}_{B}^\times.  This is an isomorphism that works because of the Chinese Remainder Theorem.  So, a question about the powers of 10 mod 28 can be explored in terms of the powers of 10 mod 4 and mod 7.

\begin{array}{l|l}    [10]_{28}=[10]_{28} & \left([10]_{4},[10]_{7}\right) = \left([2]_{4},[3]_{7}\right) \\[2mm]    [10^2]_{28}=[16]_{28} & \left([10^2]_{4},[10^2]_{7}\right) = \left([0]_{4},[2]_{7}\right) \\[2mm]    [10]_{28}=[10]_{28} & \left([10]_{4},[10]_{7}\right) = \left([0]_{4},[3]_{7}\right) \\[2mm]    [10^3]_{28}=[20]_{28} & \left([10^3]_{4},[10^3]_{7}\right) = \left([0]_{4},[6]_{7}\right) \\[2mm]    \end{array}

Once the powers of 10 are a multiple of all of the of 2’s and 5’s in the denominator, they basically disappear and only the coprime component is important.

Numbers are a whole thing.  If you can believe it, this was supposed to be a short post.

This entry was posted in -- By the Physicist, Math, Number Theory. Bookmark the permalink.

6 Responses to Q: When you write a fraction with a prime denominator in decimal form it repeats every p-1 digits. Why?

  1. Tom says:

    You used Euler’s totient function phi to show the length of the cycle of digits in the decimal expansion and showed an example where phi(21)=12 but the smallest cycle was 6. Could you use Carmichael’s reduced totient function, lambda, to obtain a measure of the smallest cycle in a decimal expansion? Other than that, this was an excellent and entertaining post!

  2. The Physicist The Physicist says:

    @Tom
    You are absolutely right! I’d never heard of the Carmichael function, but it is exactly what works.

  3. Flavian says:

    Entertaining post – true fitness for the brain. I love Mathematics posts by you. Grateful for your keeping up this good work. Cheers.

  4. William Rose says:

    This does not work for all primes in single digit prime, 2 nor 5 repeat except for zeros and 3 doesn’t repeat on n – 1 not n – 2 . So the first three primes don’t fit.

  5. Rob says:

    I never noticed the amount of repeating digits in a 1/prime in decimal form, there is one thing I’ve noticed about the digits of 1/7 that helps me to remember them.

    1/7=0. 14 28 57….
    Looking at the digits after the decimal point in groups of 2:
    14 = 7 * 2
    28 = 7 * 4
    57 = 7 * 8 + 1

    Is there a reason for this pattern as well, does the “+ 1” arise because of a carrying over somewhere?
    This almost works with the higher 1/prime numbers, although less so as they get bigger.

    1/11=0.0 90 90 90….
    If you start at the first significant digit,
    90 = 11 * 8 + 2

    1/13=0 76 92 30…
    Starting at the first significant digit:
    76 = 13 * 6 – 2
    92 = 13 * 7 + 1
    30 = 13 * 2 + 4

    1/17=0.0 58 82 35 29 41 17 64 70…
    58 = 17 * 3 + 7
    82 = 17 * 5 – 3
    35 = 17 * 2 + 1
    29 = 17 * 2 – 5
    41 = 17 * 2 + 7
    17 = 17 * 1
    64 = 17 * 4 – 4
    70 = 17 * 4 + 2

    There is kinda a pattern in 1/17, although maybe you can never be far off when your remainder has a max value of 6/10/12/16 and there’s just some coincidence involved

  6. steve tyler says:

    The length of the repitend is *exactly* the order of 10 in the multiplicative group of units mod p. (Somehow this seems not be explicitly stated anywhere)

Leave a Reply

Your email address will not be published. Required fields are marked *