What is the algorithm behind Blender's Proportional Edit?
It calculates the distance between the element you are changing. If it is within the radius the user selects it will use a falloff that the user has selected. 

Basically the values of the matrix of the transformation that the user is done is influences by the distance of the other elements. As you can see here.

Possible falloffs



Note: distance = 1 - (the actual distance/radius the user selected)

Constant: 1



Random: random between (0..1)



Linear: distance



Sharp: distance^2



Root: sqrt(distance)



Sphere: sqrt(distance*2 - distance^2)



Smooth: 3*(distance^2) - 2*(distance^3)