We follow the hints in the textbook.
Claim 1: For each $\delta>0$, there exists a finite set $A_{\delta}\subseteq X$
such that $X=\cup_{x\in A_{\delta}}B(x,\delta),$where $B(x,\delta)=\{y\in X\mid d(x,y)<\delta\}$,
the open ball centered at $x$ with radius $\delta$.
Proof of Claim 1: Fix $\delta>0$. If $X=\emptyset$, we set $A_{\delta}=\emptyset$
and we are done. Suppose that $X\neq\emptyset$. Choose $x_{1}\in X$.
If there does not exist $x\in X$ such that $d(x_{1},x)\geq\delta$,
we stop and define $A_{\delta}=\{x_1\}$. If there exists such $x$, we choose
anyone of them and denote it by $x_{2}$. Suppose that $x_{1},x_{2},\ldots,x_{n}$
have been chosen. If there exists $x\in X$ such that $d(x,x_{k})\geq\delta$
for $k=1,\ldots,n$, we choose anyone of them and denote it by $x_{n+1}$.
We prove by contradiction that this procedure stops at certain step.
For, if not, then we obtain a sequence $(x_{n})$ in $X$ (Here, we
implicitly invoke the Axiom of Countable Choice). Note that $d(x_{i},x_{j})\geq\delta$
whenever $i\neq j$, so $\{x_{n}\mid n\in\mathbb{N}\}$ is an infinite
set. (We distinguish between a set $\{x_{n}\mid n\in\mathbb{N}\}$
and a sequence $(x_{n})$. By a sequence $x=(x_{n})$, it is a function
$x:\mathbb{N}\rightarrow X$. Note that the set $\{x_{n}\mid n\in\mathbb{N}\}$
is the range $x[\mathbb{N}]$ of the sequence $x$ (I also distinguish between co-domain and range of a function, i.e., the
range of a function equals to the co-domain iff the function is surjective.)).
By assumption, $\{x_{n}\mid n\in\mathbb{N}\}$ has a limit point
$y\in X$. Choose $i$ such that $0<d(y,x_{i})<\delta/2$. For $\delta'=\frac{1}{2}d(y,x_{i})>0$,
there exists $j$ such that $0<d(y,x_{j})<\delta'$. Note that $i\neq j$,
otherwise, we will have $d(y,x_{j})<\delta'=\frac{1}{2}d(y,x_{i})=\frac{1}{2}d(y,x_{j}),$
which is a contradiction because $d(y,x_{j})>0$. Finally, $d(x_{i},x_{j})\leq d(x_{i},y)+d(y,x_{j})<\delta/2+\frac{1}{2}d(y,x_{i})<\delta$,
contradicting to the condition $d(x_{i},x_{j})\geq\delta$ whenever
$i\neq j$. Suppose that the procedure stops at $n$ and we obtain
$x_{1},\ldots,x_{n}$. Let $A_{\delta}=\{x_{i}\mid1\leq i\leq n\}$.
That the procedure cannot be proceeded implies that $\forall x\in X\,\exists k\in\{1,\ldots,n\}\,d(x,x_{k})<\delta.$
Hence, $X=\cup_{x\in A_{\delta}}B(x,\delta).$
For each $n\in\mathbb{N}$, we fix a choice $A_{\frac{1}{n}}$ as
in Claim 1. Define $A=\cup_{n=1}^{\infty}A_{\frac{1}{n}}$, which
is a countable set because each $A_{\frac{1}{n}}$ is a finite set.
Let $x\in X$ and $\varepsilon>0$ be arbitrary. Choose $n$ such
that $\frac{1}{n}<\varepsilon$. Since $X=\cup_{y\in A_{\frac{1}{n}}}B(y,\frac{1}{n}),$
there exists $y\in A_{\frac{1}{n}}\subseteq A$ such that $d(x,y)<\frac{1}{n}<\varepsilon$.
Therefore, $A$ is a countable dense subset of $X$.