Dudeney number

In number theory, a Dudeney number in a given number base $$b$$ is a natural number equal to the perfect cube of another natural number such that the digit sum of the first natural number is equal to the second. The name derives from Henry Dudeney, who noted the existence of these numbers in one of his puzzles, Root Extraction, where a professor in retirement at Colney Hatch postulates this as a general method for root extraction.

Mathematical definition
Let $$n$$ be a natural number. We define the Dudeney function for base $$b > 1$$ and power $$p > 0$$ $$F_{p, b} : \mathbb{N} \rightarrow \mathbb{N}$$ to be the following:
 * $$F_{p, b}(n) = \sum_{i=0}^{k - 1} \frac{n^p \bmod{b^{i+1}} - n^p \bmod b^i}{b^i}$$

where $$k = p\left(\lfloor \log_{b}{n} \rfloor + 1\right)$$ is the $$p$$ times the number of digits in the number in base $$b$$.

A natural number $$n$$ is a Dudeney root if it is a fixed point for $$F_{p, b}$$, which occurs if $$F_{p, b}(n) = n$$. The natural number $$m = n^p$$ is a generalised Dudeney number, and for $$p = 3$$, the numbers are known as Dudeney numbers. $$0$$ and $$1$$ are trivial Dudeney numbers for all $$b$$ and $$p$$, all other trivial Dudeney numbers are nontrivial trivial Dudeney numbers.

For $$p = 3$$ and $$b = 10$$, there are exactly six such integers : $$1, 512, 4913, 5832, 17576, 19683$$

A natural number $$n$$ is a sociable Dudeney root if it is a periodic point for $$F_{p, b}$$, where $$F_{p,b}^k(n) = n$$ for a positive integer $$k$$, and forms a cycle of period $$k$$. A Dudeney root is a sociable Dudeney root with $$k = 1$$, and a amicable Dudeney root is a sociable Dudeney root with $$k = 2$$. Sociable Dudeney numbers and amicable Dudeney numbers are the powers of their respective roots.

The number of iterations $$i$$ needed for $$F_{p,b}^{i}(n)$$ to reach a fixed point is the Dudeney function's persistence of $$n$$, and undefined if it never reaches a fixed point.

It can be shown that given a number base $$b$$ and power $$p$$, the maximum Dudeney root has to satisfy this bound:


 * $$n \leq (b - 1)(1 + p + \log_{b}{n^p}) = (b - 1)(1 + p + p \log_{b}{n}))$$

implying a finite number of Dudeney roots and Dudeney numbers for each order $$p$$ and base $$b$$.

$$F_{1, b}$$ is the digit sum. The only Dudeney numbers are the single-digit numbers in base $$b$$, and there are no periodic points with prime period greater than 1.

Dudeney numbers, roots, and cycles of Fp,b for specific p and b
All numbers are represented in base $$b$$.

Extension to negative integers
Dudeney numbers can be extended to the negative integers by use of a signed-digit representation to represent each integer.

Programming example
The example below implements the Dudeney function described in the definition above to search for Dudeney roots, numbers and cycles in Python.