• Martin Thoma
  • Home
  • Categories
  • Tags
  • Archives
  • Support me

Sum of cubed digits riddle

Contents

  • Lower and upper bounds
  • Find all solutions

Let $N \in \mathbb{N}$ be a number with digits $a_k$, where $a_0$ is the least significant digit and $n$ is the most significant digit.

Find all numbers with the following property:

$$N = \sum_{k=0}^n a_k \cdot 10^k = \sum a_k^3$$

Lower and upper bounds

  • The lower bound is $0$
  • The upper bound is $2916$ since $4\cdot 9^3 = 2916$

You can find better upper bounds, but as we've just reduced the possible number space to only 2917 numbers, it doesn't really matter.

Find all solutions

#!/usr/bin/env python3


def find_sum_of_cubes():
    """Returns all numbers N with the following property
        N = \sum_{k=0}^n a_k \cdot 10^k = \sum a_k^3
    """

    def has_sum_of_cubes_property(n):
        digits = map(int, list(str(n)))
        return sum(map(lambda n: n ** 3, digits)) == n

    return list(filter(has_sum_of_cubes_property, range(2917)))


if __name__ == "__main__":
    print(find_sum_of_cubes())

which gives

[0, 1, 153, 370, 371, 407]

Published

Jan 4, 2014
by Martin Thoma

Category

Code

Tags

  • mathematics 61
  • Python 141
  • riddle 1

Contact

  • Martin Thoma - A blog about Code, the Web and Cyberculture
  • E-mail subscription
  • RSS-Feed
  • Privacy/Datenschutzerklärung
  • Impressum
  • Powered by Pelican. Theme: Elegant by Talha Mansoor