Cut time in half to .12s by not checking any ranges with zero.
0.031s on first run. Seems pretty trivial. Not sure what was supposed to be hard about this.
Misnumbered 6.py as 9.py. Fixed now with git mv.
49s on first go.
0.1s using numpy.loadtxt
One line in .014s. I love python.
Not elegant, but fast.
Initial solution to this problem clocks 40s. Takes advantage of the fact that number with p^a*q^b prime factorization has (a+1)*(b+1) factors.
Minor improvement in way of calculating tri(n) triangular numbers.
Ugh, this problem was tedius. Wasted a lot of time because of a typo in my dictionary that was giving the wrong answer.
Added comments and problem description.