Geeky.... but here goes:

At any given second,
the force on the piston top area
multiplied by the crank arm length out from the center of the crankshaft,
equals the friction force of the engine's parts
multiplied by that parts distance out from the center of the crankshaft,
plus
the torque load on the output shaft.

If any of the above 3 things changes
{1. piston area force, 2. friction, 3. torque load}
... then the RPM changes

The force on the piston top area
changes with the amount of air and fuel combusting above it,
and the time the combustion takes {Fast Burn}. The time is important because the crank arm length away from the crankshaft centerline is constantly changing,
going from zero at top and bottom,
to maximum at 90 degrees.

The friction changes with RPM.

It changes more than is commonly thought.

If you double the piston up and down speed, the friction of the piston rings and skirt goes up almost eight times.
If you double the crankshaft speed, the friction in the bearings almost goes up four times.
There is also a friction if a vacuum is drawn by the piston descending on the intake stroke,
and another friction if the exhaust system has any back pressure above zero that opposed the piston as it rises on the exhaust stroke.
As a combination of the above things,
it can be seen that friction in an engine is complicated,
but a 'rule of thumb'
is that if the rpm doubles
the internal friction will increase between 5 and 7 times.

The torque load on the output shaft is uncertain unless we are told exactly what the shaft drives,
but generally,
the torque load will be doing two things:
1. overcoming friction
2. accelerating some mass... either in a straight line or in a circle
Since friction is involved again,
we can guess that
this friction in the load will also change with RPM.

A steady RPM will happen
when the combustion force on the piston multiplied by the crank arm distance at that instant,
is exactly equaled by
the internal friction forces in the engine each multiplied by their little crank arm distances,
plus
the torque load on the output shaft.

If the force on the piston top times the instant crank arm,
exceeds the friction torque
plus the instant torque on the output shaft,
then the output shaft will
accelerate any mass connected to it
by increasing the output shaft RPM.

At idle RPM
torque on the output shaft is zero,
and average force on piston top times crank arm equals all the combined friction torques.

If you let an engine with nothing attached to its output shaft go to full throttle,
the RPM will continue to increase
until the friction torques
equal the piston top forces times the crank arm,
... with the exception that at some high RPM the valves will 'float' and less air & fuel will make it into and out of the combustion chambers above the pistons,
which will decrease the piston top forces
or,
something will break.



All of this is easier to understand,
for any size engine,
if the idea of
"Brake Mean Effective Pressure"
or
BMEP
is studied and used.

http://www.epi-eng.com/piston_engine_technology/bmep_performance_yardstick.htm

http://www.bmepfuelandtuning.com/html/what_is_bmep_.html

http://en.wikipedia.org/wiki/Mean_effective_pressure