Sum-product number

A sum-product number in a given number base $$b$$ is a natural number that is equal to the product of the sum of its digits and the product of its digits.

There are a finite number of sum-product numbers in any given base $$b$$. In base 10, there are exactly four sum-product numbers : 0, 1, 135, and 144.

Definition
Let $$n$$ be a natural number. We define the sum-product function for base $$b > 1$$, $$F_b : \mathbb{N} \rightarrow \mathbb{N}$$, to be the following:
 * $$F_b(n) = \left(\sum_{i = 1}^k d_i\right)\!\!\left(\prod_{j = 1}^k d_j\right)$$

where $$k = \lfloor \log_b{n} \rfloor + 1$$ is the number of digits in the number in base $$b$$, and
 * $$d_i = \frac{n \bmod{b^{i+1}} - n \bmod b^i}{b^i}$$

is the value of each digit of the number. A natural number $$n$$ is a sum-product number if it is a fixed point for $$F_b$$, which occurs if $$F_b(n) = n$$. The natural numbers 0 and 1 are trivial sum-product numbers for all $$b$$, and all other sum-product numbers are nontrivial sum-product numbers.

For example, the number 144 in base 10 is a sum-product number, because $$1 + 4 + 4 = 9$$, $$1 \times 4 \times 4 = 16$$, and $$9 \times 16 = 144$$.

A natural number $$n$$ is a sociable sum-product number if it is a periodic point for $$F_b$$, where $$F_b^p(n) = n$$ for a positive integer $$p$$, and forms a cycle of period $$p$$. A sum-product number is a sociable sum-product number with $$p = 1$$, and an amicable sum-product number is a sociable sum-product number with $$p = 2.$$

All natural numbers $$n$$ are preperiodic points for $$F_b$$, regardless of the base. This is because for any given digit count $$k$$, the minimum possible value of $$n$$ is $$b^{k-1}$$ and the maximum possible value of $$n$$ is $$b^k - 1 = \sum_{i=0}^{k-1} (b-1)^k.$$ The maximum possible digit sum is therefore $$k(b-1)$$ and the maximum possible digit product is $$(b-1)^k.$$ Thus, the sum-product function value is $$F_b(n) = k(b-1)^{k+1}.$$ This suggests that $$k(b-1)^{k+1} \geq n \geq b^{k-1},$$ or dividing both sides by $$(b-1)^{k-1}$$, $$k(b-1)^2 \geq {\left(\frac{b}{b-1}\right)}^{k-1}.$$ Since $$\frac{b}{b-1} \geq 1,$$ this means that there will be a maximum value $$k$$ where $${\left(\frac{b}{b-1}\right)}^k \leq k(b-1)^2,$$ because of the exponential nature of $${\left(\frac{b}{b-1}\right)}^k$$ and the linearity of $$k(b-1)^2.$$ Beyond this value $$k$$, $$F_b(n) \leq n$$ always. Thus, there are a finite number of sum-product numbers, and any natural number is guaranteed to reach a periodic point or a fixed point less than $$b^k - 1,$$ making it a preperiodic point.

The number of iterations $$i$$ needed for $$F_b^i(n)$$ to reach a fixed point is the sum-product function's persistence of $$n$$, and undefined if it never reaches a fixed point.

Any integer shown to be a sum-product number in a given base must, by definition, also be a Harshad number in that base.

Sum-product numbers and cycles of Fb for specific b
All numbers are represented in base $$b$$.

Extension to negative integers
Sum-product 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 sum-product function described in the definition above to search for sum-product numbers and cycles in Python.