A syntax error is an error in commands. For example, the following command:
which displays a directory in a Windows Command Prompt. The following,
would show the contents of the Windows/system32 directory in the C: drive. The following,
would result in an error message since con: is a system variable representing your monitor and keyboard/mouse, and has no directory. That would a syntax error: giving a command unexpected input that it can't use.
Run Time Errors are the same in a manner, but involve a program invoking commands rather than you, and an error occuring would cause the program to halt or break as it's more commonly known. Run Time Errors stop a program that's trying multiple commands from successfully running.
Logic errors would be an error that doesn't follow the logic of a given program (which is why I like this question, because I haven't used BASIC in years!):
Purpose: to determine if two variables are equal to each other.
10 if a=b goto 30
20 if a<>b goto 40
30 print "a and b are not equal"
40 print "a and b are equal"
Notes: <> means an inequal sign, or basically, the condition is true is the numbers are not the same.
The program would depend on the values of the variable "A" and the variable "B". If "A" is set to 7 and "B" is set to 6, then they would be inequal, but the program would go to line 40 anyways, which is false although the variables would be equal. That is a logic error: a condition is set and the wrong result is given. Despite the fact that the messages are correct, they are given at the wrong condition: a user is told they're equal when they're not and vice versa.
To fix the error would be simpler than it looks: instead of changing the message of 30 and 40, you could instead go to the first two lines and switch the numbers at the end to get the correct result.