If she had unprotected sex at anytime there is a chance that she may be pregnant.
Every woman is different but symptoms can occur very early.
The best way is to take a test although at 3 weeks it may be a bit early for the pregnancy hormone to show on som shop bought tests, some tests are more sensitive than others so best to check on the packet if buying one when the first time is she can take it. If she buys a couple of tests then if the first one is negative then she can wait until after her period would have been due to take another to check.
A trip to her doctor is probably the best idea all round as they have very sensitive tests and can also do blood tests. Whatever the result then if she isn't pregnant they can investigate the other symptoms if needs be.
If she is pregnant and having abdominal pain, which can happen in a normal pregnancy, this should be checked out as soon as possible by a doctor in any event to check that it isn't the sign of something like a threatened or early miscarriage or an ectopic pregnancy. A doctor or midwife would be able to advise better and refer for tests or a scan if appropriate.
If he pain is severe and she has a fever or any bleeding or pain in her shoulder then she should go to the hospital urgently.