Initial commit
Add input problem for P018
Add fabfile to make session for programming
Ignore .viminfo file
Solve the number of primes in a diagonal (P058)

Supposed a square of side 7 that look like this:

37 36 35 34 33 32 31
38 17 16 15 14 13 30
39 18  5  4  3 12 29
40 19  6  1  2 11 28
41 20  7  8  9 10 27
42 21 22 23 24 25 26
43 44 45 46 47 48 49

One will find out that the ratio of number of primes in the diagonals to
the number of items lying on the diagonals is approximately 62% (8/13).
The program will find out what is the length of the side which will have a
ratio of less than 10% in its diagonal.
Find the sum of the ascii equivalent P059

Display the decode text when the text has 'the' and 'and'. Those two words may
be in the text and are common in the English language. There are better ways to
solve it though rather than prompting the user if the decoded text look right
and if not find other combination.
Find the sum of primes (P060)
Make P058.py executable
Determine the sum of cyclic pol numbers (P061)

Find the sum of six polynomial numbers each of which is a triangle,
square, pentagonal, hexagonal, heptagonal and octagonal numbers.

The solution finds all the polynomial numbers within the range and put it
in a dictonary. The dictionary has the number of sides as a key and another
dictonary for the number generated by the side (triangular, square, etc.). It
is implemented as dictonary so that the head and the tail of the number can be
access easily.

Using recursion makes the implementation more understandable because it is the
nature of the problem.

Because of the way traverse is implemented, duplicate sequence are also
generated.
Remove duplicate entries in traversing (P061)

Change the arguments of traverse to find all the solution and start
by the tail of the first solution.
Find the smallest cube of which permutation are cube (P062)

Find the smallest of which 5 of its permutations are also cube.

To make things easier, generate the cube first and then sort its digit.
In doing this, some cubes which is a permuation of the other will match.
Because the cube is generated from lowest to highest, store the number
in the value corresponding the the sorted digit if it does not exist. This
will ensure that the smallest number will be printed if ever needed. If it does
exist, increment the counter for that. Thus the smallest number that satisfy
the problem solution will be printed.
Find the number of n-digit nth power of a number (P063)

The 10^n is already (n + 1) digits so x in x^n must be less than ten.
The lower limit is calculated by calculating the 10 ^ (n - 1), getting
the nth root of it, and ceil it.
Find the number of odd repeating blocks (P064)

Count the number of square root of N <= 10000 that has repeating blocks
length of odd number when the square root of N is expanded into a repeating
fraction.

The algorithm to get the continued fraction is taken from
'http://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Example
.2C_square_root_of_114_as_a_continued_fraction'
Find the sum of digits of numerator of a convergent number (P065)

Determine the sum of the numerator of the 100th convergent fraction
of the convergent fraction of e.
Find the largest x in x^2 - D y^2 = 1 (P066)

For all the minimal values of x when D <= 1000, find the largest
value of x.

This is a Pell's equation. The solution is to find a convergent, h/k
in the continued fraction of the square root of N, then compare the
values to each other to find the largest and print the value of D which
satisfy the problem.
Magic 5-gon ring (P068)