Just an outline of thought.
To me, it seems bruteforce and streetsmart will beat any theoretical approach.
Example #1
If N contains a factor of 2 up to multiplicities K, then you can deduce that the lowest digits of X will have to contain at least K consecutive zeroes, because only consecutive zeroes in the lowest digits can provide factors of 2. And so on. Doesn't seem to involve any theories.
Example #2
Another streetsmart is the divisibility by 9 of decimal numbers judged by the sum of decimal digits. (More precisely it's the property of the modulo by 9. Divisibility refers to modulo beinggiving zero. Divisibility by 3 is a simple corollary derived from the modulo by 9.) Note that by using "modulo", it is not only applicable to multiples of 9 - you can apply it to any numbers, say 13, by filtering the candidates of X suchwith the requirement that mod(X_candidate, 9) == mod(13, 9) == 4. The requirement is necessary but not sufficient, but it helps cutting down the number of cases needed by the bruteforce.