diff --git a/57.py b/57.py
new file mode 100755
index 0000000000000000000000000000000000000000..bdfa3ac8909a4614f49f55d9ba9e14abdd046555
--- /dev/null
+++ b/57.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# https://en.wikipedia.org/wiki/Continued_fraction#Some_useful_theorems
+
+def nom(n):
+    nexth = hp = hpp = 1
+
+    while n > 0:
+        nexth = 2 * hp + hpp
+        hpp = hp
+        hp = nexth
+        n -= 1
+
+    return nexth
+
+def denom(n):
+    kpp = 0
+    nextk = kp = 1
+
+    while n > 0:
+        nextk = 2 * kp + kpp
+        kpp = kp
+        kp = nextk
+        n -= 1
+
+    return nextk
+
+def ndig(n, base=10):
+    i = 0
+
+    while n > 0:
+        i += 1
+        n /= base
+
+    return i
+
+count = 0
+
+for n in xrange(1, 1001):
+    if ndig(nom(n)) > ndig(denom(n)):
+        count += 1
+
+print count