To average 3.5 hours a day would be hard work and can be extremely difficult and tiring for a new student to absorb.
To complete in 21 days - you only need around 2 hours a day of training as your solo cross country's would cover the additional.
The flight time is usually not the problem.
3 hrs a day for 15 days is 45 hrs. That is only two 1.5 hour flights spread out over a day.
15 plus two days off makes 17 plus one day for the skills test makes 18 so you can have three "weather" days.
Retaining all the info for the written tests or an oral is more of a challenge as everybody likes to fly at that stage and nobody likes to study.
In the case of JimmyA he was clearly not flying enough to make the above schedule.