OFFSET
1,3
COMMENTS
The sequence was generated in an attempt to create a universal divisibility test. Namely, taking the last digit of the number inspected, multiplying it by a number (the "divisibility coefficient"), and adding it to the inspected number without the last digit. Then, if the result is divisible by the number we are checking, so is our original number. This test works only for numbers coprime to 10, hence the sequence is based on A045572. The sequence lists the smallest positive divisibility coefficients of the members of A045572.
a(n) may equivalently be defined as the multiplicative inverse of 10 modulo A045572(n). - Ely Golden, Mar 27 2024
LINKS
Michael De Vlieger, Table of n, a(n) for n = 1..10000
Index entries for linear recurrences with constant coefficients, signature (0,0,0,2,0,0,0,-1).
FORMULA
The sequence can be defined piecewise: 9m+1 for numbers of the form 10m+1; 3m+1 for numbers of the form 10m+3; 7m+5 for numbers of the form 10m+7 and m+1 for numbers of the form 10m+9.
From Lorenzo Sauras Altuzarra, Sep 29 2020: (Start)
a(n) = 1/10 - (1 - 2*(floor((n + 1)/4) + n))*(1 - (1 + (floor(16*9^n/205) mod 9))/10).
a(n) = b(n) - (((b(n) mod 10)^3 mod 10)*b(n) - 1)/10, where b(n) = A045572(n). (End)
EXAMPLE
For example, let us check whether 21 is divisible by 7. First, we take off the last digit, 1. Since 7 is the third member of A045572, its divisibility coefficient is the third member of this sequence, namely 5. Then we multiply 5 times 1 to obtain 5, and we add it to the original number without the last digit, in our case, 2. We get 7, and since it is clearly divisible by 7, so is 21.
MATHEMATICA
Array[# - (# Mod[PowerMod[#, 3, 10], 10] - 1)/10 &[1/2*(5*# + Mod[3*# + 2, 4] - 4)] &, 67] (* Michael De Vlieger, Oct 05 2020 *)
PROG
(PARI) lista(nn) = {for (n=1, nn, if (gcd(n, 10) == 1, my(m=n % 10, k=n\10, x); if (m == 1, x = 9*k+1); if (m == 3, x = 3*k+1); if (m == 7, x = 7*k+5); if (m == 9, x = k+1); print1(x, ", "); ); ); } \\ Michel Marcus, May 04 2020
(Python)
def a(n):
u = 10*((n-1) // 4) + [1, 3, 7, 9][(n-1) % 4]
return pow(10, -1, u) + (u == 1)
print(*(a(i) for i in range(1, 101)), sep=", ")
# Ely Golden, Mar 27 2024
CROSSREFS
KEYWORD
nonn
AUTHOR
Ivan Stoykov, Mar 21 2020
EXTENSIONS
More terms from Michel Marcus, May 04 2020
STATUS
approved