There is an infinitely tall tetrahedral stack of spheres where each row of the tetrahedron consists of a triangular arrangement of spheres, as shown below. There is 1 sphere in the top row (which we will call row 0), 3 spheres in row 1, 6 spheres in row 2, 10 spheres in row 3, etc. The top-most sphere in row 0 is assigned the number 1. We then assign each other sphere the sum of the number(s) assigned to the sphere(s) which touch it in the row directly above it. Find a simplified expression in terms of n for the sum of the numbers assigned to each sphere from row 0 to row n.[asy]
import three;
import solids;
size(8cm);//currentprojection = perspective(1, 1, 10);triple backright = (-2, 0, 0), backleft = (-1, -sqrt(3), 0), backup = (-1, -sqrt(3) / 3, 2 * sqrt(6) / 3);draw(shift(2 * backleft) * surface(sphere(1,20)), white); //2
draw(shift(backleft + backright) * surface(sphere(1,20)), white); //2
draw(shift(2 * backright) * surface(sphere(1,20)), white); //3
draw(shift(backup + backleft) * surface(sphere(1,20)), white);
draw(shift(backup + backright) * surface(sphere(1,20)), white);
draw(shift(2 * backup) * surface(sphere(1,20)), white);draw(shift(backleft) * surface(sphere(1,20)), white);
draw(shift(backright) * surface(sphere(1,20)), white);
draw(shift(backup) * surface(sphere(1,20)), white);draw(surface(sphere(1,20)), white);label("Row 0", 2 * backup, 15 * dir(20));
label("Row 1", backup, 25 * dir(20));
label("Row 2", O, 35 * dir(20));dot(-backup);
dot(-7 * backup / 8);
dot(-6 * backup / 8);dot((backleft - backup) + backleft * 2);
dot(5 * (backleft - backup) / 4 + backleft * 2);
dot(6 * (backleft - backup) / 4 + backleft * 2);dot((backright - backup) + backright * 2);
dot(5 * (backright - backup) / 4 + backright * 2);
dot(6 * (backright - backup) / 4 + backright * 2);
[/asy] geometry3D geometrypyramidspheretetrahedron