The problem is to prove that a metric space $(X,d)$ is separable if and only if it does not contain an uncountable closed discrete subset.
The first thing I want to note is that being closed and discrete is equivalent to not having any limit points, so the problem can be restated as "prove $(X,d)$ is separable if and only if every uncountable subset has a limit point in $X$".
The forward direction is simple enough. Suppose $X$ is separable and let $A$ be a countable dense subset. Assume to the contrary that there does exist an uncountable subset $B$ which has no limit points. Then for each $b\in B$, there exists $\epsilon_b>0$ such that the open ball $B_d(b,\epsilon_b)$ is disjoint from $B\setminus\{b\}$. Then the collection of open balls $\mathcal{A}=\{B_d(b,\epsilon_b/2):b\in B\}$ is an uncountable collection of pairwise disjoint open sets. Since $A$ is countable and $\mathcal{A}$ is not, $A$ cannot intersect every open ball in $\mathcal{A}$, so there must exist $b\in B$ such that $B_d(b,\epsilon_b/2)$ is disjoint from $A$ contradicting the fact that $A$ is dense in $X$.
It's the other direction that's giving me trouble. Suppose that every uncountable subset of $X$ has a limit point in $X$. I need to construct a countable dense subset (or use a nonconstructive existence proof method such as Zorn's Lemma). I have tried coming up with ways of constructing such a countable dense subset, I have tried proving the contrapositive (which is also an existence proof), I have tried using Zorn's Lemma, but nothing I have tried worked. Does anyone have hints or ideas?