long double lat1;

long double lon1;

long double lat2;

long double lon2;

long double Th;

long double d;

long double R;

const long double PI = 3.1415926535;

lon1 = 42.90816;

lat1 = -78.793945;

Th = PI * 50 / 180; //Must convert Bearing in degrees to radians

d = 50; //Distance in feet, so...

R = 3959 * 5280; //Mean Radius of the earth in feet (note, earths radius varies from 3947 to 3968 miles)

lat2 = asin( sin(lat1) * cos(d/R) + cos(lat1) * sin(d/R) * cos(Th) );

lon2 = lon1 + atan2( sin(Th) * sin(d/R) * cos(lat1), cos(d/R) - sin(lat1) * sin(lat2) );

The key is to remember that the trig functions us radias. So your 55 degees must be converted to radians. The formula uses the value distance/earth radius over and over. What ever your dimensions for distance need to match for earth's radius. So if you distance is in feet, you must plug in earth's radius in feet. Then just to throw confusion into the mix, the earth's radius is not fixed because the earth isn't a perfect sphere. So the numbers you use might be different than the numbers someone else has used for earth's radius.