OFFSET
1,5
COMMENTS
The tetrahedron may be aligned with the Cartesian axes by putting its triangular basis on the horizontal plane, with four vertices at (x, y, z) = (0, 0, 0), (n, 0, 0), (n/2, sqrt(3)*n/2, 0) and (n/2, n/(2*sqrt(3)), n*sqrt(2/3)) see A194082, A020769, A157697.
The volume of tetrahedron is a third times the area of the base triangle times height, (1/3) * (sqrt(3)*n^2/4) * n*sqrt(2/3) = n^3/(3*2^(3/2)) = A020829*n^3. This defines an obvious upper limit of floor(n^3/sqrt(72)) = A171973(n) of placing unit cubes into this tetrahedron.
Regular packing: We place the first layer of unit cubes so they touch the floor of the tetrahedron. Their number is limited by the area of the triangular horizontal section of the plane z=1 inside the tetrahedron, which touches all of them; this isosceles horizontal triangle has edge length E(n,z) = n-z*sqrt(3/2). This edge length is a linear interpolation for triangular horizontal cuts between z=0 at the bottom and the summit of the tetrahedron at z=n*sqrt(2/3).
This first layer confined by a triangle characterized by E(n,z) may host RegSquInTri(E) := sum_{y=1..floor(E*sqrt(3)/2)} floor(E-y*2/sqrt(3)) cubes, following recursively the same regular placement and counting strategy as for squares in isosceles triangles, see A194082.
The number of unit cubes in the next layer, between z=1 and z=2, is limited by the area of the horizontal section of the triangle z=2 inside the tetrahedron, where the triangle has edge length n-z*sqrt(3/2).
So in layer z=1, 2, ... we insert ReqSquInTri(E(n,z)) cubes. a(n) is the sum over all these layers with z limited by the z-value of the vertex at the summit.
There is a generalization to placing unit cubes of higher dimensions into higher dimensional tetrahedra.
The growth is expected to be roughly equal to the growth of A000292.
LINKS
R. J. Mathar, Illustration of 30 cubes at n=8
R. J. Mathar, Illustration of 66 cubes at n=10
R. J. Mathar, Illustration of 221 cubes at n=14
FORMULA
a(n) <= A171973(n).
MAPLE
# Number or squares in isosceles triangle of edge length n.
RegSquInTri := proc(n)
add(floor(n-2*y/sqrt(3)), y=1..floor(n*sqrt(3)/2)) ;
end proc:
A219965 := proc(n)
local a, z, triedg ;
a := 0 ;
for z from 1 to floor(n*sqrt(2/3)) do
triedg := n-z*sqrt(3/2) ;
a := a+ RegSquInTri(triedg) ;
end do:
return a;
end proc:
CROSSREFS
KEYWORD
nonn
AUTHOR
R. J. Mathar, Dec 02 2012
STATUS
approved