One way would be to calculate the total energy change needed for a take-off and then to calculate how long the engine has to run to provide the aircraft with that energy. Once you have time and speed, calculation of distances should be easy. Calibrate with the charts if needed.
The total energy is the sum of mass times speed change squared divided by two, weight times elevation gained (or lost) from runway slope and weight times the height when the take-off is complete. The speed change can either be from static to lift-off speed (plus or minus wind speed) or to the multiple of stall speed required by your definition when the take-off is complete.
While at the start of the take-off sequence drag will be negligible, you need to reduce net thrust by the drag of the moving aircraft. This is generally the hardest part, but if you are willing to accept some error, a simplified drag model can be used which assumes friction and rolling drag while the aircraft accelerates, then adds induced drag as the aircraft rotates and reduces overall drag as the aircraft accelerates after take-off. Also, don't forget to model the speed dependency of thrust as well.