Inverse kinematics of many common types of robot manipulators may be decomposed into canonical subproblems. This paper presents new solution methods to six subproblems using a linear algebra approach. The first three subproblems, called the Paden-Kahan subproblems, are Subproblem 1: angle between a vector on the edge of a cone and a point, Subproblem 2: intersections between two cones, and Subproblem 3: intersections between a cone and a sphere. The other three subproblems, which have not been extensively covered in the literature, are Subproblem 4: intersections between a cone and a plane, Subproblem 5: intersections among three cones, and Subproblem 6: intersections in a system of four cones. We present algebraic solutions and geometric interpretations for each subproblem and provide computational performance comparisons. Our approach also finds the least-squares solutions for Subproblems 1-4 when the exact solution does not exist. We show that almost all 6-dof all revolute (6R) robots with known closed-form solutions may be solved using the subproblem decomposition method. For a general 6R robot, subproblem decomposition reduces finding all solutions to a search on a circle or a 2D torus. The software code is available on a publicly accessible repository.