I think you should give a try in the
Algorithms[
^] forum. You may have better answers there to get the approach and once you have the ideas, then reask about the implementation.
Maybe I'm totally wrong or my option can not be resolved mathematically (long time without using algebra and vector spaces), but considering that a cube has same side length, and sides of 4 adjacent points are perpendicular to each other (V12 with V14 and with V15)
Then you could try:
Get the ecuation of the line that goes through each point Xa,Ya along the Z-direction and then try to solve an ecuation system of spheres assuming that the S1 (sphere along line L1) must cut L2 and L5, S3 must cut L2 in the same point and L7, and S6 must cut L5, L2 and L7 in the same points as the previous ones. That would give you the half of the cube.
Then you can do the same for the other side, or try to find lines with 90 and 45 angles parting of the previously founded points that intersect in the same coordinates along the other vertical lines.