Question 638396
To make things easier, let's use the letter J to represent John's age, and the letter B to represent Bill's age.  The first sentence states that John is 3 years more than twice Bill's age.  In other words:

J = 2B + 3 

Now let's look at the second sentence, which states three years ago John was 4 times as old as Bill was then.  In other words:

J - 3 = 4(B - 3)

Now that we have our 2 equations (J=B+3 and J-3=4(B - 3)), we can solve.  Since we know John's age in terms of Bill, we will substitute 2B + 3 for our second equation:

2B + 3 - 3 = 4(B - 3)

The left side of our equation is now 2B and the right side is still 4(B - 3).  Using the distributive property, we will multiply the 4 by what's inside of the parenthesis:  4B - 12.  Our equation now looks like

2B = 4B - 12

We need to get the B's on one side of the equal sign, so we will subtract 2B from both sides, which gives us 0 = 2B - 12.  We will then add 12 to both sides, giving us 12 = 2B.  To get the B by itself, we will divide both sides by two, which will give us Bill's age:  6 = B. So, Bill is 6 years old.  

To find out John's age, replace the B in the first equation with 6:

J = 2(6) + 3

J = 12 + 3

Therefore, John is 15

Final Answer:  John is 15 and Bill is 6