+A number consisting entirely of ones is called a repunit. We shall define R(k)
+to be a repunit of length k; for example, R(6) = 111111.
+Given that n is a positive integer and GCD(n, 10) = 1, it can be shown that
+there always exists a value, k, for which R(k) is divisible by n, and let A(n)
+be the least such value of k; for example, A(7) = 6 and A(41) = 5.
+The least value of n for which A(n) first exceeds ten is 17.
+Find the least value of n for which A(n) first exceeds one-million.
+A(n) < n because otherwise for R(1) .. R(n-1) there will be two identical
+non-zero modulos. Let's say they are 'a' and 'b' where b > a, so
+R(b) % n = R(a) % n. In that case (R(b)-R(a)) % n = 0, but then
+(R(b-a) * 10^R(a)) % n = 0, and since the modulo of a power of 10 with n
+cannot be 0 (because GCD(n, 10) = 1), then R(b-a) % n = 0, which demonstrates
+that A(n) < n (reduction ad absurdum.).
+ $mod = (($mod * 10 + 1) % $n);
+print "A(7) = ", calc_A(7), "\n";
+print "A(41) = ", calc_A(41), "\n";
+ print "N = $n ; A($n) = $A\n";
+ print "Found n - $n\n";