No one else has answered so I'll do so, but I'm going to ignore details and speak to the geometry. The latitude of the subsolar point is simply Sun's declination. You should easily be able to convince yourself of that. The longitude is a bit more challenging. You know that when Sun is at the zenith, it must also be on the local celestial meridian. That means its local hour angle (LHA) must be zero. You know that LHA is the difference between local sidereal time (LST) and Sun's right ascension (RA). For LHA to be zero, you must have LHA = RA. If you know LHA and the sidereal time at Greenwich (GST), the difference between the two is the required longitude. I neglected the difference between mean and apparent sidereal time and Sun's mean, apparent, and topocentric coordinates. You can account for these.
A similar process can be applied to Moon to find the sublunar point.
I am not sure if i understood the question, but let us go like this. you are permitted to use a heliocentric refrence frame, and all motions relative to that frame are to be accounted for. So, please do it with the motion of earth and moon accounted for.
the reason thereof is, you can of course, calculate the barycenter of earth and moonin an earth moon reference system, and with time, this will trace a circle, ignoring the non-circularity of lunar orbit, traced on moon's orbital plane. (The moon is going around the earth's center, and the barycenter is not the earth's center, on the line joining the centers of mass of earth and moon. the only point in this line that does not move is the center of earth, in a geocentric coordinate system, because that is set to be the origin. had this been a selenocentric system, the non moving origin would be center of moon).
However, in a heliocentric system, the still origin is the center of sun, and in that system, the barycenter here traces a 3-D cycloid with winds on the orbital plane of moon, and reference circle on the orbital plane of earth. so you will have different results, if you reduce the problem to geocentric reference frame.
(What i understand from your question is the "why" behind forcing the calculation to a heliocentric system, and not on earth moon system. so i did not do the calculation itself here.
Best Answer
Here's how I explain this to my students. There are actually two suns in the sky. One is responsible for causing objects to cast shadows and is the daytime star we're all accustomed to observing. Let's call it the "true Sun" or the "apparent Sun." It, in effect, governs our lives. However, it has one main problem relevant to timekeeping, and that is that its speed along the ecliptic throughout the year varies. It's average (angular) speed is about $360/365$ deg/day or about $0.986$ deg/day. Now, this variation is important because if we want to use this Sun as a prime mover for timekeeping, we have to be aware of the variation. It means that an hour, which is defined as one twenty-fourth of the time it takes this Sun to go from the celestial meridian around to the celestial meridian again, varies in duration throughout the year when compared to the same interval measured with a timekeeping device that does NOT vary in rate. As for the cause of the variation, there are several factors at work here. One is the shape of Earth's orbit, which causes Earth to move at different speeds at different places in its orbit. Of course, we see this as differences in true Sun's speed along the ecliptic because we're on the moving Earth. Another is the fact that true Sun's path, the ecliptic, makes a $23.5^\circ$ angle with the celestial equator, which also causes seasonal variations in true Sun's speed along the celestial equator.
To get around these problems, astronomers invented the "mean Sun" for timekeeping, and it moves at a uniform rate (not a variable rate) along the celestial equator (not the ecliptic). Both it and the true Sun have the same average angular speed, taking one year to complete one trip around the sky (in different planes, however). Being fictitious, one can't actually observe mean Sun. Nevertheless, mean Sun is the prime mover that we use for all civil timekeeping. We can track its motion relative to the celestial meridian with a mechanical (or nowadays, digital) device called a "clock."
Now, the variations in the true Sun's motion causes it to sometimes be ahead of, sometimes lag behind, and sometimes be neck and neck with the mean Sun. This variation is called the equation of time and can be tabulated for any date.
When we say "noon" most people think of Sun being at its highest point in the sky, which need not be the zenith, but will ALWAYS be somewhere on the celestial meridian (yes, things get weird in the arctic and antarctic regions). However, "noon" really only applies to true Sun's motions. We keep time by mean Sun's motions, and a mean solar clock ALWAYS reads 12:00 when mean Sun is on the meridian. This moment, except for four days of the year, does not coincide with "noon" as embodied by true Sun's motions.