Несложно определить знаки
function LineEq(an)
{
for (var i=0; i<an.length; i++)
{ if (an[i]<0) { an[i] = ''+an[i] }
else { an[i] = '+'+an[i] }
}
return (an[0]+'*x'+an[1]+'*y'+an[2]+'=0');
}
alert( LineEq([2,-1,4]) );
Но, если уравнение в таком виде должно показываться пользователю, то, думаю, лучше преобразовать к нормальному (привычному) виду.