Relay not behaving..

a RED led for incorrect inputs, a green one for correct input

Not a GREEN one? Why not?

char Pressed[] = {'15', '15', '15', '15'};

That's stupid. Single quotes are for SINGLE characters.

    else if (touchNumber == 0)

      ;
    else
      ;

WTF?

Why are you using an interrupt to handle pressing on the touch panel? Why are none of the variables shared between the interrupt service routine and loop() volatile?

When you remove power from the solenoid, the code and relay work fine. When you apply power to the solenoid, you have problems. Why would you even suspect that the code is the problem? You have a hardware problem, plain and simple.