pythonでもやってみた

こんな感じで。

def repunit_prime(n):
    r = (10**n - 1) / 9
    print "repunit:(",n, ")", r
    
    d = 0
    e = 0
    e2 = 0
    while True:
        for elem in [1, 3, 7, 9]:
            e = d * 10 + elem
            e2 = r / e

            if e > 1 and r % e == 0:
                print "---> ", e, " x ", e2

        if e >= e2:
            break

        d += 1

pythonなら17桁もいけます。
が、やはり時間がかかるのはしょうがないのですかねぇ?