login
Mark each point on the n X n X n grid with the number of points that are visible from it; a(n) is the number of distinct values in the grid.
2

%I #40 Feb 19 2021 20:35:04

%S 1,4,4,8,4,17,12,15,14,33,12,58,28,43,52,113,39,140,57,124,129,240,66,

%T 241,173,270,217,362,58,388,292,454,351,539,166,783,471,723,463,880,

%U 229,1134,642,843,763,1441,311,1415,740,1295,987,1888,357,1629,1063,1750,1231,2381,289,2652

%N Mark each point on the n X n X n grid with the number of points that are visible from it; a(n) is the number of distinct values in the grid.

%C a(n) <= A058187(n). This is because A058187(n) is the maximum number of points required to calculate a(n).

%H Eric Weisstein's World of Mathematics, <a href="https://mathworld.wolfram.com/VisiblePoint.html">Visible Point</a>

%e a(1) = 1 because there are 7 visible points from every point on the grid.

%e a(2) = 4 because 19 points are visible from every vertex of the grid, 23 points are visible from the midpoint of every edge of the grid, 25 points are visible from the midpoint of every face of the grid, and 26 points are visible from the middle of the grid.

%e a(3) = 4 because 49 points are visible from every vertex of the grid, 53 points are visible from the inner points of every edge of the grid, 55 points are visible from the inner points of every face of the grid, and 56 points are visible from the inner points of the grid.

%o (PARI) \\ n = side length, d = dimension

%o cdvps(n, d) ={my(m=Map());

%o forvec(u=vector(d, i, [0, n\2]),

%o my(c=0); forvec(v=[[t-n, t]|t<-u], c+=(gcd(v)==1));

%o mapput(m, c, 1), 1);

%o #m; }

%o a(n) = cdvps(n, 3)

%Y Cf. A049687, A049691, A058187, A090025, A339400.

%K nonn

%O 1,2

%A _Torlach Rush_, Dec 15 2020