Try this
DECLARE @PersonId INT =10;
WITH ForwardRelationsCTE AS(
SELECT Person_ID, Person_Relative_ID FROM dbo.Relations_Table WHERE Person_ID = @PersonId
UNION ALL
SELECT t1.Person_ID , t1.Person_Relative_ID FROM dbo.Relations_Table AS t1
JOIN ForwardRelationsCTE AS cte
ON t1.Person_ID = cte.Person_Relative_ID
),
BackwardRelationsCTE AS(
SELECT Person_ID, Person_Relative_ID FROM dbo.Relations_Table WHERE Person_Relative_ID = @PersonId
UNION ALL
SELECT t1.Person_ID , t1.Person_Relative_ID FROM dbo.Relations_Table AS t1 JOIN BackwardRelationsCTE AS cte
ON t1.Person_Relative_ID = cte.Person_ID
)
SELECT Person_ID FROM BackwardRelationsCTE WHERE Person_ID <> @PersonId
UNION
SELECT Person_ID FROM ForwardRelationsCTE WHERE Person_ID <> @PersonId
UNION
SELECT A.Person_Relative_ID FROM ForwardRelationsCTE AS A
LEFT OUTER JOIN Relations_Table AS B ON A.Person_Relative_ID=B.Person_ID Where B.Person_ID IS NULL
The last union query is to include the last node like person 50 in your example.