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} $$
if $p_1 p_2 \cdots p_k$ is all prime numbers, then $(p_1 p_2 \cdots p_k) + 1$ is a new prime number.
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$.
Assume for the purpose of contradiction that $n \mid ab$ and $\gcd(a, n) = 1$, but $n \nmid b$, so $gcd(n, b)=1$, for theorem 31.6, $gcd(n, ab)=1$ which is contradicting our assumption.
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!)