##ConnectedComponents

Using [Daniel Lichtblau's answer](https://mathematica.stackexchange.com/a/6184/125) to a [related  question ](https://mathematica.stackexchange.com/q/6183/125)

    ConnectedComponents[pairs] //Sort /@ # & //Sort (* thanks: CarlWoll *)

>    {{3, 5, 9},   
     {11, 21, 22, 35},   
     {12, 14, 16, 23},   
     {1, 6, 10, 13, 36},   
     {17, 20, 24, 25, 28, 32},   
     {2, 8, 15, 18, 27, 29, 31},   
     {4, 7, 19, 26, 30, 33, 34}}

In versions prior to  10.3 use

     ConnectedComponents[Graph[UndirectedEdge @@@ pairs]] //Sort /@ # & //Sort

##MatrixPower

Implementing transitive closure using `MatrixPower`:

    m = Max@pairs;
    
    (*the adjacency matrix of atomic elements in pairs:*)
    SparseArray[pairs ~Append~ {i_, i_} -> 1, {m, m}];
    
    (*symmetrize the adjacency matrix:*)
    % + %\[Transpose] // Sign;
    
    (*find the transitive closure:*)
    Sign @ MatrixPower[N@%, m];
    
    (*eliminate duplicate rows,and extract the atomic elements of pairs in each row:*)
    Select[DeleteDuplicates @ Normal @ %, Tr@# > 1 &];
    Join @@ Position[#, 1] & /@ %;
    
    (*organize:*)
    Sort[Sort /@ %]

>    {{3, 5, 9},   
      {11, 21, 22, 35},  
      {12, 14, 16, 23},  
      {1, 6, 10, 13, 36},   
      {17, 20, 24, 25, 28, 32},   
      {2, 8, 15, 18, 27, 29, 31},   
      {4, 7, 19, 26, 30, 33, 34}}