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.

A098928 Number of cubes that can be formed from the points of a cubical grid of n X n X n points.

Original entry on oeis.org

0, 1, 9, 36, 100, 229, 473, 910, 1648, 2795, 4469, 6818, 10032, 14315, 19907, 27190, 36502, 48233, 62803, 80736, 102550, 128847, 160271, 197516, 241314, 292737, 352591, 421764, 501204, 592257, 696281, 814450, 948112, 1098607, 1267367
Offset: 1

Views

Author

Ignacio Larrosa Cañestro, Oct 19 2004, Sep 29 2009

Keywords

Comments

Skew cubes are allowed.

Examples

			For n = 3 there are 8 cubes of volume 1 and 1 cube of volume 8; thus a(3)=9. - _José María Grau Ribas_, Mar 15 2014
a(6)=229 because we can place 15^2 cubes in a 6 X 6 X 6 cubical grid with their edges parallel to the faces of the grid, plus 4 cubes of edge 3 with a vertex in each face of the lattice and the other two vertices on a diagonal.
		

Crossrefs

Cf. A103158.
Cf. A000537 (without skew cubes), A002415 (number of squares with corners on an n X n grid), A108279, A102698.

Programs

  • Mathematica
    Needs["Quaternions`"];
    (* Initialize variables *)
    R = 20;
    NN = 1010;
    (* Quaternion operations *)
    test[q_Quaternion] :=
      Module[{unit, res, a, b, c, u, v, w, p},
       If[Round[Norm[q]] > R, Return[]];
       If[q == Quaternion[0, 0, 0, 0], Return[]];
       unit = Quaternion[0, 1, 0, 0];
       res = q ** unit ** Conjugate[q];
       a = Abs[res[[2]]] + Abs[res[[3]]] + Abs[res[[4]]];
       unit = Quaternion[0, 0, 1, 0];
       res = q ** unit ** Conjugate[q];
       b = Abs[res[[2]]] + Abs[res[[3]]] + Abs[res[[4]]];
       unit = Quaternion[0, 0, 0, 1];
       res = q ** unit ** Conjugate[q];
       c = Abs[res[[2]]] + Abs[res[[3]]] + Abs[res[[4]]];
       For[i = 1, i <= (R - 1)/Max[a, b, c], i++,
        If[SquareFreeQ[i], {u = a*i;
          v = b*i;
          w = c*i;
          p = Max[u, v, w] + 1;
          coe[[p + 1, 4]] += (1);
          coe[[p + 1, 3]] -= (u + v + w);
          coe[[p + 1, 2]] += (u*v + v*w + w*u);
          coe[[p + 1, 1]] -= (u*v*w)}]]];
    (* Set up coefficient matrix *)
    coe = ConstantArray[0, {NN, 4}];
    (* Loop through quaternions *)
    rt = Ceiling[Sqrt[R]] + 1;
    For[s = -rt, s <= rt, s++,
      For[x = -rt, x <= rt, x++,
       For[y = -rt, y <= rt, y++,
        For[z = -rt, z <= rt, z++, test[Quaternion[s, x, y, z]];
         test[Quaternion[s + 0.5, x + 0.5, y + 0.5, z + 0.5]];]]]];
    newCoe = coe;
    newCoe[[2 ;; ;; 2]] = coe[[2 ;; ;; 2]]/2;
    (* Calculate and output results *)
    For[i = 2, i <= R + 1, i++, ans = 0;
      For[j = 4, j >= 1, j--, newCoe[[i, j]] += newCoe[[i - 1, j]];
       ans = ans*(i - 1) + newCoe[[i, j]];
       ];
      Print[i - 1, " ", ans/24];];
    (* Haomin Yang, Aug 29 2023 *)

Extensions

Edited by Ray Chandler, Apr 05 2010
Further edited by N. J. A. Sloane, Mar 31 2016