Filling a unit cube with countable balls.

Yes, this is possible. First, let me set up a bit of machinery. Define a dyadic cube to be an open cube of the form $\prod_{i=1}^n \left(\frac{a_i}{2^k},\frac{a_i+1}{2^k}\right)$ where $a_1,\dots,a_n\in\mathbb{Z}$ and $k\in\mathbb{N}$. Write $N\subset\mathbb{R}^n$ for the set of points which have at least one coordinate that is a dyadic rational; note that $N$ has measure $0$. Note that if $U\subseteq\mathbb{R}^n$ is open and $x\in U\setminus N$, there is a dyadic cube $D$ such that $x\in D\subseteq U$ (since if $x\not\in N$ then there are dyadic cubes of arbitrarily small diameter containing $x$). Moreover, there is a maximal such cube. It follows that $U\setminus N$ is contained in the union of all the maximal dyadic cubes contained in $U$. Moreover, these maximal dyadic cubes are disjoint, since if two dyadic cubes intersect then one must be contained in the other.

To sum up, we have shown that if $U\subseteq\mathbb{R}^n$ is open, there is a (necessarily countable) disjoint union of dyadic cubes contained in $U$ that has full measure in $U$.

Now let us consider your question. Start by picking any ball $B\subset C$. Let $U=C\setminus \overline{B}$. As above, we can partition almost all of $U$ into dyadic cubes. We can then choose scaled down versions of $B$ inside each of these dyadic cubes, and repeat: take the complement of the closures of these balls inside each dyadic cube, and partition almost all of those sets into dyadic cubes. We then take scaled down versions of $B$ inside all these new dyadic cubes, and so on.

At each step of this process, we add new balls which take up $\mu(B)/\mu(C)$ of the measure we have not yet covered with balls. Thus the measure not covered by balls after $N$ steps is $(1-\mu(B)/\mu(C))^N$. This converges to $0$, so after iterating infinitely many times we have "filled" $C$.

More generally, a similar argument shows that if $B\subset C$ is any set of positive measure such that $\mu(B)=\mu(\overline{B})$, then $C$ can be "filled" by scaled copies of $B$.


I'd like to add some remarks besides the elegant proof by Eric Wofsey.

Vitali's covering theorem implies that not only you can do it, but also that you can use balls from any given family $\mathcal{V}=\{B_j\}_{j\in J}$, provided it is a Vitali covering of your set (this means that any point $x\in C$ is contained in balls with arbitrarily small radius).

Moreover the same is true with minor modifications for any Radon measure, if you consider a family of closed balls (obviously this is irrelevant for the Lebesgue measure). To prove this result however you need a different covering theorem, namely Besicovitch's. You can see for instance the first chapter of the book by Evans and Gariepy, Measure Theory and Fine Properties of Functions.

The first linked Wikipedia article also states a version with balls replaced by any family of sets which are not "too thin", meaning that $$\mathrm{diam}(B)^n\leq C \mathcal{L}^n(B)$$ for any set $B$ in the family (this is closely related to the last paragraph in the answer by Eric).

It would be really interesting to know if your proposed algorithm works. I've thought about it some time but I didn't go anywhere for now.