Есть задача из ЕГЭ, я решил её перебором, но выполняется больше 10 минут, это плохо. Единственное, что я придумал, это находить делители не от 1 до самого числа, а от 1 до числа в корне квадратном. Более не смог ничего придумать. Можете ли подсказать в какую сторону нужно копать? или же просто показать, как должно решаться такое) 
 
def chet(a):
    d = set()
    for i in range(1,round(a**0.5)+1):
        if a % i == 0:
            if i % 2 != 0:
                d.add(i)
            if round(a/i) % 2 != 0:
                d.add(round(a/i))
    if len(d) >= 6: return d
    if len(d) == 5:
        print(d)
    return d
for i in range(105000000,115000000+1):
    d = chet(i)
    if len(d) == 5:
        print(i,max(d))
на данный момент лучшее решение:
def chet(a):
    d = set()
    for i in range(1,a+1):
        if a % i == 0 and i % 2 != 0:
            d.add(i)
    return d
a = 105000000
b = 115000000
for i in range(a,b+1):
    d = i
    while d % 2 == 0:
        d //= 2
    if d**0.25 == int(d**0.25):
        if len(chet(i)) == 5:
            print(i,d)
Ответ:
109401632 3418801
110766728 13845841
112550881 112550881
113592964 28398241