Not only is x+y+z=0, but the absolute values of x, y and z are equal to twice the radius of the ring. This should be sufficient to identify every hexagon on each successive ring:
var radius = 4;
for(var i = 0; i < radius; i++)
{
for(var j = -i; j <= i; j++)
for(var k = -i; k <= i; k++)
for(var l = -i; l <= i; l++)
if(Math.abs(j) + Math.abs(k) + Math.abs(l) == i*2 && j + k + l == 0)
document.body.innerHTML += (j + "," + k + "," + l + "<br />");
document.body.innerHTML += ("<br />");
}
Output: 0,0,0
-1,0,1 -1,1,0 0,-1,1 0,1,-1 1,-1,0 1,0,-1
-2,0,2 -2,1,1 -2,2,0 -1,-1,2 -1,2,-1 0,-2,2 0,2,-2 1,-2,1 1,1,-2 2,-2,0 2,-1,-1 2,0,-2
-3,0,3 -3,1,2 -3,2,1 -3,3,0 -2,-1,3 -2,3,-1 -1,-2,3 -1,3,-2 0,-3,3 0,3,-3 1,-3,2 1,2,-3 2,-3,1 2,1,-3 3,-3,0 3,-2,-1 3,-1,-2 3,0,-3