cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A209242 The largest fixed value (neither happy nor sad) in base n.

Original entry on oeis.org

8, 1, 18, 1, 45, 52, 50, 1, 72, 125, 160, 1, 128, 1, 261, 260, 200, 1, 425, 405, 490, 1, 338, 1, 657, 628, 450, 848, 936, 845, 1000, 832, 648, 1, 1233, 1377, 800, 1, 1450, 1445, 1813, 1341, 1058, 1856, 2125, 1844, 1250, 1525, 1352, 2205, 2560, 1, 2873, 1, 3200
Offset: 3

Views

Author

Keywords

Comments

A number is a fixed value if it is the sum of its own squared digits. Such values >1 are the only numbers that are neither happy (A007770) nor unhappy (A031177) in that base.
The number of fixed values in base B (A193583) is equal to one less than the number of divisors of (1+B^2) (Beardon, 1998, Theorem 3.1).
No fixed point has more than 2 digits in base B, and the two-digit number a+bB must satisfy the condition that (2a-1)^2+(2b-B)^2=1+B^2 (Beardon, 1998, Theorem 2.5). Since there are a finite number of ways to express 1+B^2 as the sum of two squares (A002654), this limits the search space.
Because fixed points have a maximum value of B^2-1 in base B, there are a large number of solutions near perfect squares, x^2. Surprisingly, there are also a large number of points near "half-squares", (x+.5)^2. See "Ulam spiral" in the links.

Examples

			a(7)=45 because in base 7, 45 is 63 and 6^2+3^2=45. The other fixed values in base 7 are 32, 25, 10 and (as always) 1.
		

Crossrefs

Programs

  • Python
    from sympy.ntheory.digits import digits
    def ssd(n, b): return sum(d**2 for d in digits(n, b)[1:])
    def a(n):
        m = n**2 - 1
        while m != ssd(m, n): m -= 1
        return m
    print([a(n) for n in range(3, 58)]) # Michael S. Branicky, Aug 01 2021
  • R
    #ya=number of fixed points, yb=values of those fixed points
    library(gmp); ya=rep(0,200); yb=vector("list",200)
    for(B in 3:200) {
      w=1+as.bigz(B)^2
      ya[B]=prod(table(as.numeric(factorize(w)))+1)-1
      x=1; y=0; fixpt=c()
      if(ya[B]>1) {
        while(2*x^2=0 & av=0 & bv
    				

Extensions

Program improved and sequence extended by Christian N. K. Anderson, Apr 25 2013.