Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:

1634 = 1^4 + 6^4 + 3^4 + 4^4
8208 = 8^4 + 2^4 + 0^4 + 8^4
9474 = 9^4 + 4^4 + 7^4 + 4^4
As 1 = 1^4 is not a sum it is not included.

The sum of these numbers is 1634 + 8208 + 9474 = 19316.

Find the sum of all the numbers that can be written as the sum of fifth powers of their digits.


In [19]:
let raiseTo pow n =
    double(n) ** double(pow)

let sumPowerDigits pow n = 
    string(n).ToCharArray()
    |> Array.map (string >> int >> (raiseTo pow))  
    |> Array.sum
    |> int
    
[2..1000000] // assume less than 1 million...
|> List.map (fun n -> (n, sumPowerDigits 5 n))
|> List.filter (fun (a,b) -> a = b)
|> List.map fst
|> List.sum


Out[19]:
443839

In [ ]: