# 31.1 Elementary number-theoretic notions

## 31.1-1

Prove that if $a > b > 0$ and $c = a + b$, then $c \mod a = b$.

\begin{aligned} c \mod a & = (a + b) \mod a \\ & = (a \mod a) + (b \mod a) \\ & = 0 + b \\ & = b. \end{aligned}

## 31.1-2

Prove that there are infinitely many primes.

\begin{aligned} ((p_1 p_2 \cdots p_k) + 1) \mod p_i & = (p_1 p_2 \cdots p_k) \mod p_i + (1 \mod p_i) \\ & = 0 + 1 \\ & = 1. \end{aligned}

## 31.1-3

Prove that if $a \mid b$ and $b \mid c$, then $a \mid c$.

• If $a \mid b$, then $b = a \cdot k_1$.
• If $b \mid c$, then $c = b \cdot k_2 = a \cdot (k_1 \cdot k_2) = a \cdot k_3$, then $a \mid c$.

## 31.1-4

Prove that if $p$ is prime and $0 < k < p$, then $\gcd(k, p) = 1$.

• If $k \ne 1$, then $k \nmid p$.
• If $k = 1$, then the divisor is $1$.

## 31.1-5

Prove Corollary 31.5.

For all positive integers $n$, $a$, and $b$, if $n \mid ab$ and $\gcd(a, n) = 1$, then $n \mid b$.

Since $n \mid ab$,

\begin{aligned} ab & = nk \\ b & = nk / a. \end{aligned}

Since $\gcd(a, n) = 1$, $n / a$ could not be an integer.

Since $b$ is an integer, then $k / a$ must be an integer, we have

$$b = nk / a = n (k / a) = n k',$$

therefore $n \mid b$.

## 31.1-6

Prove that if $p$ is prime and $0 < k < p$, then $p \mid \binom{p}{k}$. Conclude that for all integers $a$ and $b$ and all primes $p$,

$(a + b)^p \equiv a^p + b^p \pmod p$.

$$\begin{array}{rlll} (a + b) ^ p & \equiv & a^p + \binom{p}{1} a^{p - 1}b^{1} + \cdots + \binom{p}{p - 1} a^{1}b^{p - 1} + b^p & \pmod p \\ & \equiv & a^p + 0 + \cdots + 0 + b^p & \pmod p \\ & \equiv & a^p + b^p & \pmod p \end{array}$$

## 31.1-7

Prove that if $a$ and $b$ are any positive integers such that $a \mid b$, then

$$(x \mod b) \mod a = x \mod a$$

for any $x$. Prove, under the same assumptions, that

$x \equiv y \pmod b$ implies $x \equiv y \pmod a$

for any integers $x$ and $y$.

Suppose $x = kb + c$, we have

$$(x \mod b) \mod a = c \mod a,$$

and

$$x \mod a = (kb + c) \mod a = (kb \mod a) + (c \mod a) = c \mod a.$$

## 31.1-8

For any integer $k > 0$, an integer $n$ is a $k$th power if there exists an integer $a$ such that $a^k = n$. Furthermore, $n > 1$ is a nontrivial power if it is a $k$th power for some integer $k > 1$. Show how to determine whether a given $\beta$-bit integer $n$ is a nontrivial power in time polynomial in $\beta$.

Because $2^\beta > n$, we only need to test values of $k$ that satisfy $2 \le k < \beta$, therefore the testing procedure remains $O(\beta)$.

For any nontrivial power $k$, where $2 \le k < \beta$, do a binary search on $a$ that costs

$$O(\log \sqrt n) = O(\log \sqrt{2^\beta}) = O(\frac 1 2\log 2^\beta) = O(\beta).$$

Thus, the total time complexity is

$$O(\beta) \times O(\beta) = O(\beta^2).$$

## 31.1-9

Prove equations $\text{(31.6)}$–$\text{(31.10)}$.

(Omit!)

## 31.1-10

Show that the gcd operator is associative. That is, prove that for all integers $a$, $b$, and $c$,

$\gcd(a, \gcd(b, c)) = \gcd(\gcd(a, b), c)$.

[The following proof is provided by my friend, Tony Xiao.]

Let $d = \gcd(a, b, c)$, $a = dp$, $b = dq$ and $c = dr$.

Claim $\gcd(a, \gcd(b, c)) = d.$

Let $e = \gcd(b, c)$, thus

\begin{aligned} b = es, \\ c = et. \end{aligned}

Since $d \mid b$ and $d \mid c$, thus $d \mid e$.

Let $e = dm$, thus

\begin{aligned} b = (dm)s & = dq, \\ c = (dm)t & = dr. \end{aligned}

Suppose $k = \gcd(p, m)$,

\begin{aligned} & k \mid p, k \mid m, \\ \Rightarrow & dk \mid dp, dk \mid dm, \\ \Rightarrow & dk \mid dp, dk \mid (dm)s, dk \mid (dm)t, \\ \Rightarrow & dk \mid a, dk \mid b, dk \mid c. \end{aligned}

Since $d = \gcd(a, b, c)$, thus $k = 1$.

\begin{aligned} \gcd(a, \gcd(b, c)) & = \gcd(a, e) \\ & = \gcd(dp, dm) \\ & = d \cdot \gcd(p, m) \\ & = d \cdot k \\ & = d. \end{aligned}

By the claim,

$$\gcd(a, \gcd(b, c)) = d = \gcd(\gcd(a, b), c).$$

## 31.1-11 $\star$

Prove Theorem 31.8.

(Omit!)

## 31.1-12

Give efficient algorithms for the operations of dividing a $\beta$-bit integer by a shorter integer and of taking the remainder of a $\beta$-bit integer when divided by a shorter integer. Your algorithms should run in time $\Theta(\beta^2)$.

Shift left until the two numbers have the same length, then repeatedly subtract with proper multiplier and shift right.

## 31.1-13

Give an efficient algorithm to convert a given $\beta$-bit (binary) integer to a decimal representation. Argue that if multiplication or division of integers whose length is at most $\beta$ takes time $M(\beta)$, then we can convert binary to decimal in time $\Theta(M(\beta) \lg\beta)$.

(Omit!)