Let n be any positive integer.

Show that n has a multiple that contains only 0's and 1's (in base 10).

Let R(u, v) be the remainder when u is divided by v, with R(u,v) between 0 and v-1 inclusive.

Let's consider the set of values T(k) = R(10^{k}, n) for k = 0, 1, 2, ...
Each of these values is between 0 and m-1 inclusive.
If any of them is 0, for some value of k, then n divides evenly into 10^{k}
and that's the multiple we're looking for.
This will happen if the only prime factors of n are 2 and 5, i.e. n = 2^{a}.5^{b},
and the multiple is 10^{max(a,b)}.

Otherwise, we have an infinite sequence of values between 1 and n-1
inclusive.
At least one of these values must be repeated infinitely often (otherwise,
there'd only be a finite number of them!).
Let z be one such value, and let r_{1}, r_{2}, ...
be the values of k where T(k) = z.

We claim that n divides evenly into
N = 10^{r1} + 10^{r2} + ... + 10^{rn}.
Consider the remainders when that number is divided by n.
Each term leaves a remainder of z when divided by n, and so the sum
leaves a remainder of nz, which itself is divisible by n.
So N is a multiple of n which contains only 1's and 0's, and we're done.

As an example, consider n = 14. The T(k) sequence is: 1, 10, 2, 6, 4, 12, 8, 10, 2, 6, 4, 12, 8, 10, ... so we can choose the subsequence of terms having value 10, with indexes 1, 7, 13, ... Taking the first 14 indexes, using them as exponents of 10 and adding the results produces the value N = 10000010000010000010000010000010000010000010000010000010000010000010000010000010. And N is indeed a multiple of 14: N = 14.714286428572142857857143571429285715000000714286428572142857857143571429285715.